How to generate a reCAPTCHA site key for React Native app - react-native

I'm trying to add reCAPTCHA to my react native app. I'm using GCP's React Enterprise, but their docs specify website, iOS app, or android app for the key's platform type. Will the site key for an iOS or android app work in my React Native app? If not, how would I generate the site key that works with React Native?

According to my research, React Native is well integrated when it comes to Google Recaptcha. I think your question is more related to the mobile apps than the integration of both services.
Will the site key for an iOS or android app work in my React Native app?
That depends on the type of key that you choose to use, reCAPTCHA Enterprise provides score-based (no challenge) and checkbox (checkbox challenge) site keys to verify user interactions on your web pages and mobile applications. Both key types return a score for each request, which is based on interactions with your site or application. This score lets you understand the level of risk that the interaction poses and helps you to take appropriate actions for your site or application.
If you use the Score-based site key (recommended), it will be supported by websites and mobile platforms, unlike the Checkbox site key, which only supports websites. Link
How would I generate the site key that works with React Native?
In the official documentation, they have a tutorial about Create site keys for mobile applications, and they mention that you can create only score-based site keys for mobile applications.
This is the link.

Related

React Native Mobile App also working on Web and Desktop

Does React Native support Web and Desktop targets?
I would like to build the main version of app as mobile.
Would it be possible to compile the same mobile app, maybe with minor modifications for Web and Desktop?
The user experience for the secondary use cases - Web and Desktop doesn't matter much, I need just the app more or less in a working state and it will be enough. Does React Native allows that?
For Web, you can use react-native-web

Do Native apps have access to HTML5 API's

I am building a language translation flashcard web app. I will have a PWA version on the website and then a native app in the Play Store and Windows Store.. maybe even Apple Store eventually. First time looking to build a native app or pseudo native app.
The app currently uses the Web Speech API and Voice Recognition API in HTML5. These API's have support on Chrome and Android Web Browser. It appears they are in progress for Firefox and some other browsers.
Since the best functionality of the app is built upon these browser based API's..
I am wondering if I choose to use Vue Native instead of Cordova/Phonegap, how is it possible to access these HTML5 APIs natively or is there a native solution?

How can iOS application interact with an Ethereum wallet

I have a dapp for web application. Users have metamask installed in the Chrome browser. They make transactions using metamask. Now I want the same application to be developed in iOS using react-native. How to develop this? For browser when users want to make any transaction simply metamask pop ups and asks for confirmation.
How about in mobile devices? How they are going to install metmask in the devices and make transactions in mobile device. Is is possible to achieve this? How can I develop this app?
Your iOS app can communicate with iOS wallets using WalletConnect mobile linking. This fulfils a similar functionality as MetaMask pop-up on desktop environments.
Yes, you don't need metamask for your application. (And I am yet to see someone use it in an app built in React Native.)
Metamask is essentially a wallet which 'injects' into various services on the web. But it is nothing more than a wallet that manages your identit(y/ies).
The features you'd need in your React app would need:
Managing identities (private and public keys.)
Ability to sign transactions.
Then you might want to use extra features such as:
Importing keys
Updating balances
Recording transasctions, etc.
If you're using web3.js, then you need to start here: web3.eth.accounts and look into wallets on the same page.
For React Native, you can use the Moralis SDK https://moralis.io/
If you're developing a native app with Swift, you can use the v1 WalletConnect SDK https://github.com/WalletConnect/WalletConnectSwift.
Also, I'm working on a package (on top of WC) that already has all the configuration for it: https://github.com/maurovz/Glaip

Real technical advantages of React Native over Web

I thinking about real technical advantages of creating React Native app over web SPA. I figured out that only 1 advantage could be - it's saving and loading data in phone store. Another things like, for example, access to GPS, camera, etc are also available in JavaScript Web. So, that is real technical advantage of using React Native over Web?
Overall, it really depends on what your application is for...
If your Application will be used by mobile users only, then React Native is a perfect solution. However, if you want an application with a Web presence, so users can use it on Desktops etc - then it wouldn't really be suitable unless you did both a Web SPA and a mobile app.
For example, if I were to create an accounting app - which will be used by users on Mobiles and Desktop, then perhaps I'd consider building a SPA which is mobile friendly or both SPA and an App with an API for both.
If you were building a tracking app, which will only be available for mobile - then go for it.
If your users will be using desktop, then you can build it perhaps in React and when you get to React Native you know the react library!
React Native in itself builds both iOS and Android Apps, so instead of creating a 'hybrid' app (which includes webviews) or a native App in both iOS and Android - you only create one code base and build it to your chosen OS. This saves alot of development time. As the community is open source, alot of upgrades happen and there is alot of help online if you encounter an issue.

What Application type of Google Oauth when developing React-Native app

I'm working on React-Native app and my application should be working on both IOS and Android Platform. I need to add feature of signing through Google. So which application type should I choose on create client id page?