zoho / SalesIQ-Mobilisten-ReactNative

Your mobile app's ideal live chat partner. Power up your mobile App with the SalesIQ Mobilisten SDK for React-Native.
https://mobilisten.io/
9 stars 11 forks source link
chat-bot chat-sdk chat-sdk-js livechat mobilisten react-native salesiq-mobilisten-react-native sdk sdk-react-native support-library

SupportedLanguages Version Mobilisten NPM CD

React Native module for SalesIQ Mobilisten SDK

Connect with customers at every step of their journey. Give them the best in-app live chat experience with Mobilisten. Mobilisten enables customers to reach you from any screen on your app, get their questions answered, and make better purchase decisions.

Getting Started

Mobilisten is a support chat SDK that comes with a set of highly configurable APIs to suit your needs. Get started by generating an App and Access keys for your bundle ID from the SalesIQ console.

Requirements

iOS: Minimum deployment target should be set to iOS 12.

Android: Ensure that your project meets the following requirements:

Installation

Follow the below steps given below to complete installation of Mobilisten in your React-Native app.

  1. Install the react-native-zohosalesiq-mobilisten package using NPM.

    npm install react-native-zohosalesiq-mobilisten --save
  2. Link the module with the react native app

    react-native link react-native-zohosalesiq-mobilisten

Installation steps for iOS

  1. Navigate to the ios folder in the project directory.

  2. Run the pod repo update && pod install command from the ios directory.

For the RNZohoSalesIQ version below 10.0.0:

  1. Open your podfile.

  2. Add the "/ios" to the path for the RNZohoSalesIQ pod, as shown below.

- pod 'RNZohoSalesIQ', :path => '../node_modules/react-native-zohosalesiq-mobilisten'
+ pod 'RNZohoSalesIQ', :path => '../node_modules/react-native-zohosalesiq-mobilisten/ios'
  1. Run pod install after saving the changes made to the Podfile.

Note: If you're updating from the SDK versions below 10.0.0 to above, remove the above path in your Podfile and run the pod install in the iOS folder.

Installation steps for Android

  1. If you're using React Native v0.60 or above, the dependency will be linked automatically without any steps being taken.

Android: Auto linking with React Native v0.59 and below

$ react-native link react-native-zohosalesiq-mobilisten

Android: Manual linking with React Native v0.59 and below

include ':react-native-zohosalesiq-mobilisten'
project(':react-native-zohosalesiq-mobilisten').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-zohosalesiq-mobilisten/android')
implementation project(':react-native-zohosalesiq-mobilisten')
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    // ...
    @Override
    protected List<ReactPackage> getPackages() {
        // Add new RNZohoSalesIQPackage() into the React packages list like below
        return new ArrayList<>(Arrays.<ReactPackage>asList(new RNZohoSalesIQPackage()));
    }
    // ...
};

@Override
public ReactNativeHost getReactNativeHost(){
    return mReactNativeHost;
}
  1. Navigate to the android folder within the project directory using Android Studio or any other platform of choice for Android development. Add the following maven repository to the build.gradle or settings.gradle file.

For Gradle version 6.7 and below

Note: Make sure the above code block isn't added to your module's build.gradle file.

// Add the following to your project's root build.gradle file.

allprojects {
   repositories {
      google()
      mavenCentral()
      // ...
      maven { url 'https://maven.zohodl.com' }
   }
}

For Gradle version 6.8 and above

// Add the following to your settings.gradle file.

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // Add the Zoho Maven URL here
        maven { url 'https://maven.zohodl.com' }
    }
}
  1. Proguard rules:

    If you have enabled ProGuard(minifyEnabled) R8, then please add the following rules in your proguard-rules.pro file in your android folder.

    -dontwarn kotlinx.parcelize.Parcelize
  2. Click Sync Now from the toolbar on the IDE.

Initializing Mobilisten

  1. Generate App and Access keys for iOS and Android platforms by providing your bundle id.
  2. Use the ZohoSalesIQ.initWithCallback API with keys for each platform as shown below.
import { ZohoSalesIQ } from 'react-native-zohosalesiq-mobilisten';

let appKey;
let accessKey;

if (Platform.OS === 'ios') {
    appKey = "ios_app_key";
    accessKey = "ios_access_key";
} else {
    appKey = "android_app_key";
    accessKey = "android_access_key";
}

ZohoSalesIQ.initWithCallback((appKey, accessKey, success) => {
    // Your code
});
  1. If you want to show the default chat launcher, use the ZohoSalesIQ.Launcher.show() API (Optional).

API Documentation

You can find the list of all APIs and their documentation here under the API Reference section.