Embed Kustomer in your own products with our chat SDK for React Native.
yarn add @kustomer/chat-react-native
iOS support
cd ios
pod update
pod install
Android Support
Due to potential late init issues, we recommend initialization through your MainApplication.java/kt
edit android/app/src/main/java/com/push_notifications/MainApplication.kt
public void onCreate() {
// ...
KustomerChat.configure(apiKey, options);
}
The default way to configure the SDK is through in your app's js bundle. Here is an example app with README explaining how to configure the app to securely import your API key.
import KustomerChat from '@kustomer/chat-react-native';
if(platform.ios) {
// Ensure configure runs only once. Tested with `useEffect`. see example above.
KustomerChat.configure(apiKey, options);
}
Add the following to your Info.plist
for file upload support:
Privacy - Camera Usage Description
Privacy - Media Library Usage Description
Privacy - Microphone Usage Description
Privacy - Photo Library Usage Description
For auth setup, see the iOS docs
import KustomerChat from '@kustomer/chat-react-native';
KustomerChat.show(KustomerDisplayMode); // KustomerDisplayMode is an optional enum param
For Android, see the Android docs For iOS, see the iOS docs
We are working on a way to customize colors in JS/TS sources, once, but it is currently not possible with the native SDKs.
You can view the license here
WIP: Most of the APIs are stable, and no major changes are expected in the way the SDK works.
- should request permission using another lib, like
react-native-permissions
orreact-native-push-notification
orreact-native-firebase
- check the iOS docs for Push Keys and Certificates and Push Notifications and modify your
AppDelegate.m
accordingly.
ℹ️ Note: this will likely match android's behavior in the future
- use a PN library (like
react-native-firebase
), and callsetPushToken
once a token is received. - call
KustomerChat.onRemoteMessage
in youronRemoteMessage
callback. You can useisKustomerNotification
to check if the message is from Kustomer, and should be forwarded.