How can iOS application interact with an Ethereum wallet - react-native

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

Related

React-Native with Webhooks?

Is it possible to integrate React-Native with Webhooks?
Currently, I have a chatbot using React, Dialogflow and webhooks. I am intending to port over to React-Native. Hence, I like to find out if possible to use webhooks to integrate React-Native with Dialogflow?
When I google, I find tons of materials regarding React with Webhooks but none concerning React-Native with Webhooks.
In case not possible to integrate React-Native with Webhooks, how does one work around it then?
Thanks :)
Webhooks usually mean that a URL is called which triggers some kind of action on your server. In the client world you would use sockets.
So if you wish to communicate from server to client instead of vice versa you should either use sockets or native notifications, at least for iOS.
The app is only alive for a certain amount of time when not being used and then its terminated by OS on Apple products. Your socket will thus be shut down. Apple recommends to use native notifications to wake you app up in such cases.
This works espacially well for chat or voip apps.
There are a bunch of frameworks for handling push notifs here is a good tutorial: https://medium.com/ios-expert-series-or-interview-series/voip-push-notifications-using-ios-pushkit-5bc4a8f4d587

What is the difference between Shopify App Bridge and embed in shopify admin

I'm currently starting a project on shopify to make an app and I've noticed that they have released Shopify App Bridge but also I have the option to select Embed in shopify when the app is created. Is this one in the same or two different ways to display the app in the users store? If so what are the main differences to help eme select which to use?
App Bridge is a replacement to the EASDK. It's the future of Shopify App development. You would use App Bridge to develop your embedded apps instead of EASDK and your existing EASDK apps now use App Bridge under the hood. EASDK will eventually be deprecated but for the foreseeable future will still work as it always has. I encourage you to give App Bridge a try.
Full disclosure, I work on the App Bridge team at Shopify.

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.

How to integrate intercom chat to react-naive mobile app?

I'm developing a mobile app which has a support feature for clients. Support is a chat session. We are planning to use intercom chat integration with our react-native mobile app. We are using React-Native.So is there any way to integrate intercom chat with my mobile app ??
If it is possible can i be able to change intercom chat UI with customized react-native components ??
Any links helps would be appreciated ?
Yes, you can integrate Intercom in a react-native application. You can use
react-native-intercom, this a wrapper of Intercom-ios-sdk and does not have options to further customization (only launcher).
You'll have to write some native code hopefully everything is in the README.me
About changing intercom UI: it is not possible. Really, don't waste your time trying to do this. They simply don't offer this feature.
Their clients SDK are not open source even if they are in GitHub. If you go to Intercom Android SDK or Intercom iOS SDK you would think that they open sourced them but if you see their files you're gonna see that it is just binary files. You cannot edit them. Or maybe you can but in a hacky way.
The only way to use your own components is to use their API directly and implement the UI from scratch. I strongly recommend you to don't do it. They have API call restrictions (500 requests per minute) which is easy to achieve because of the number of calls you'll have to send in order to make it work properly.

To implement GCM requires the Google Play APK needs to be installed will restrict the number of user to use our android app?

GCM features is added with the Google Services. While developing android application to use the GCM the device require to have Google APK installed.
And I heard that some of the devices not having the Play Store APK or there is no support for GCM. The devices like Amazon Fire phone, xiaomi and all.
I want to develop an app to support all the user. Is not like the user having installed Play Store APK can use our application.
I thought of using pubnub. I don't know whether this is an right alternative. Because I am not finding any other way to overcome this issue.
Please help me on this.
Thanks in advance.