Using Baidu Map for react native/expo - react-native

I'm building a React Native App for a Chinese Company. I'm using Expo.
I really would love to use Google Maps, but it is not allowed there...
The best solution I found was to use Baidu Map,
I searched for SDKs and found some of them in GitHub.
I decided to use this one: https://github.com/qiuxiang/react-native-baidumap-sdk
which provides great documentation.
Although, I'm having some trouble implementing it to the app. I think that they don't support expo.
Does anyone here ever have a similar problem?
Or used another map...
Would really save my life!

This library uses native (Android & iOS) SDKs and provides a React Native API on top of them. Expo does not yet support custom native modules, which means you'll have to eject from it to use this package (or any other that uses BaiduMap or other native code).
I'm guessing they probably have a web based JS SDK instead which you could try to integrate into your app via a <WebView /> instead?

Related

Will this module work in expo or react native?

I am new to react native and expo.
This is the module i am looking at: https://github.com/leesiongchan/react-native-esc-pos
I want to build an app that can print using bluetooth thermal printer. I am not sure if i should build it using react native or expo. Please advise me.
Thank you.
Expo has its own limitations and there are even some bugs there too, Its good for quick development as the documentation suggests the same that it is good to get you started with development within minutes without much hustle. In my opinion, React Native CLI is most of the time the best option even if you are new to react native development. Because of the following reasons
You will learn a lot as you will get your hands dirty in core react native app development.
You won't have to deal with expo limitations
You won't have to be dependent on expo tools
Any Library which requires linking or contains native modules will not work with the expo.
The library you mentioned uses many native modules and usually these type of libraries are not supported and that is the reason why they've built their own APIs and Native Components you can read this,
the developer has not mentioned Expo support anywhere on the docs but still You can open an issue on GitHub and ask the developer if it supports EXPO platform or not, or maybe instead of asking you can try the library yourself and you will find out if its working or not,

Any documentation about pure React Native without using EXPO?

I want to learn React Native but, without using EXPO
Why do i not using EXPO? (source: Youtube Channel "McAbout Digital")
Lack of support for geolocation
No support for Payment API
Slow image rendering
Limited access to Firebase setting
Advanced animation support
Wherever i google about React Native the EXPO is always there too.
I'm looking for pure react native documentation/tutorial
Apart from project setup almost everything is same in the docs for both versions,
but if you are looking for a good tutorial series you can start learning by
UDEMY - React Native Practical Guid which is a paid course but worth it.

Is it possible to display Admob native ad to a React Native project?

I have searched the web but can not find a plugin to do this. There are several plugins that support "banner" and "interstitial", but no support for "native".
Looks like there's an open issue regarding this since July 2016. Since it doesn't seem to be supported yet, I think the only solution would be to write your own custom Native UI Component for Android that exposes a NativeExpressAdView to React Native.

React Native - Using iOS and Android SDKs

I just started using React Native a few days ago and want to build my next iOS/Android app with it. However, I had a question (and I apologize in advance if this question is very basic).
If I am integrating my iOS and Android apps built with React Native, with an external service (like Salesforce for example), how do I go about using the native mobile SDKs they provide for iOS and Android? As in, what do I do to integrate those SDKs into my React Native app? Those SDKs are using native Objective-C and Java code, so how would I be able to use the JS code for React Native? I believe my understanding about this is skewed.
I looked at this link which goes into it, but it seemed very confusing and I had a bit of a hard time grasping the concept (again, I am very new to this - I've done a lot of web development, hence turning my attention to React Native, but I've done no mobile development whatsoever).
If someone could please explain how that works, and point me in the right direction where I can read and learn more, I would sincerely appreciate that!
Thank you!
Checkout out this talk on SalesForce mobile SDK for React native
Official SalesForce Docs - Read Here
Also this tutorial might help you. http://rajaraodv.github.io/salesforce-react-native-tutorial/
Update:
There are react native packages build by open react native community if you couldn't find anything to access native iOS or android functionality you will have to write react native wrapper yourself using react native "Native Modules"
Native Modules

Why do react-native packages use native SDKs and not JS/web versions?

Purely informational question, not really a problem but:
I remember following the instructions and seeing that there were some steps to get the react-native-fbsdk working. These steps involved messing with my android build.gradle and adding the iOS SDK and the info.plist and whatnot. That aside, why doesn't Facebook utilize the javascript SDK? Is it not possible? If so, why is it not possible for Facebook to do this? If it is possible, why did they opt to utilize the both the android and iOS SDK?
One value prop of React Native is that it's not just an HTML 5 website embedded in a native wrapper. It literally uses the native APIs/components, and the same goes for SDKs. Technically, a pure JS SDK could be optimized for a browser experience, rely on window or document, and while the functionality might be able to be executed natively, the polyfills provided in RN might not be enough to cover the implementation. The way it makes API calls are probably different too. The views are different too (no DOM in RN), so that would apply for any SDK views (button?).
I just finished converting an iOS SDK to a React Native package and I feel that the implementation will be more inline with how the original iOS SDK was designed, since it's using those methods under the covers instead of pure JS. JS is just invoking the native methods, not taking over the methods.
Just my $0.02...