How to Integrate the ASAP SDK with React Native

How to Integrate the ASAP SDK with React Native

After successfully setting up the ASAP SDK on your mobile  application, the next step is to integrate it.

Code block to installing the react-native plugin:

We have the following list of plugins, customers can integrate the SDK based on their requirements.

  • @zohocorp/zohodesk-portal-apikit - Zoho Desk API KIT
  • @zohocorp/zohodesk-portal-core - Zoho Desk Modules (KB, Community, Tickets)
  • @zohocorp/zohodesk-portal-salesiq - Zoho Desk SalesIQ (SalesIQ Chat)
  • @zohocorp/zohodesk-portal-chatkit - Zoho Desk ChatKit (Guided Conversations, Business Messenger and Answer Bot)

To install zohodesk-portal-apikit install the following plugins:
  1. From npm
    npm install @zohocorp/zohodesk-portal-apikit
  1. From yarn
    yarn add @zohocorp/zohodesk-portal-apikit
To install zohodesk-portal-core, install the following plugins:
  1. From npm
    npm install @zohocorp/zohodesk-portal-core
    npm install @zohocorp/zohodesk-portal-kb
    npm install @zohocorp/zohodesk-portal-community
    npm install @zohocorp/zohodesk-portal-ticket
    npm install @zohocorp/zohodesk-portal-configuration
    npm install @zohocorp/zohodesk-portal-apikit
  1. From yarn
    yarn add @zohocorp/zohodesk-portal-core
    yarn add @zohocorp/zohodesk-portal-kb
    yarn add @zohocorp/zohodesk-portal-community
    yarn add @zohocorp/zohodesk-portal-ticket
    yarn add @zohocorp/zohodesk-portal-configuration
    yarn add @zohocorp/zohodesk-portal-apikit
To install zohodesk-portal-salesiq, install the following plugins:

  1. From npm
  2. npm install @zohocorp/zohodesk-portal-salesiq

  1. From yarn
  2. yarn add @zohocorp/zohodesk-portal-salesiq
To install zohodesk-portal-chatkit,install the following plugins: 

  1. From npm
  2. npm install @zohocorp/zohodesk-portal-chatkit

  1. From yarn
  2. yarn add @zohocorp/zohodesk-portal-chatkit
Notes
If you are using only the Chat SDK, you must ensure that the zohodesk-portal-apikit and zohodesk-portal-configuration packages are also installed.
In app with React Native version <0.60, run the following command to link the library.
  1. react-native link @zohocorp/zohodesk-portal-core
    react-native link @zohocorp/zohodesk-portal-kb
    react-native link @zohocorp/zohodesk-portal-community
    react-native link @zohocorp/zohodesk-portal-ticket
    react-native link @zohocorp/zohodesk-portal-configuration
    react-native link @zohocorp/zohodesk-portal-apikit
Notes
If zohodesk-portal-core is integrated, all the Desk modules will work. If the SalesIQ chat need to integrate the zohodesk-portal-salesiq along with zohodesk-portal-core plugin.
Please follow either of the following method to perform these steps.

For Android applications, this step involves the use of Maven.

The ASAP SDK for React Native is released at maven.zohodl.com. Therefore, you must mention the URL in your Android Project. To do this, open the Android folder of your React Native project in Android Studio and add the following Maven repository to the project-level build.gradle file:
  1. allprojects{  

    repositories{  

    maven { url 'https://maven.zohodl.com/'} 

    maven { url 'https://downloads.zohocdn.com/wmslibrary' } 

    }

    }

For iOS apps, this step involves the use of CocoaPods.

If the Podfile is already part of your React Native project, run the pod install command.

If the Podfile is not part of your project, run the following command from the iOS folder: 
  1. pod init
If you are using React Native versions < 0.60, add the following code to your iOS Pod file in your_RN_project/ios/Podfile.
  1. pod 'RNZohoDeskPortalAPIKit', :path => '../node_modules/@zohocorp/zohodesk-portal-apikit/RNZohoDeskPortalAPIKit.podspec'
  2.   pod 'RNZohoDeskPortalConfiguration', :path => '../node_modules/@zohocorp/zohodesk-portal-configuration/RNZohoDeskPortalConfiguration.podspec'
  3.   pod 'RNZohoDeskPortalKB', :path => '../node_modules/@zohocorp/zohodesk-portal-kb/RNZohoDeskPortalKB.podspec'
  4.   pod 'RNZohoDeskPortalTicket', :path => '../node_modules/@zohocorp/zohodesk-portal-ticket/RNZohoDeskPortalTicket.podspec'
  5.   pod 'RNZohoDeskPortalCommunity', :path => '../node_modules/@zohocorp/zohodesk-portal-community/RNZohoDeskPortalCommunity.podspec'
  6.   pod 'RNZohoDeskPortalCore', :path=>'../node_modules/@zohocorp/zohodesk-portal-core/RNZohoDeskPortalCore.podspec'
  7.   #For chats
  8.   pod 'RNZohoDeskPortalSalesIQ', :path => '../node_modules/@zohocorp/zohodesk-portal-salesiq/RNZohoDeskPortalSalesIQ.podspec'
  9.   pod 'RNZohoDeskPortalChatKit', :path => '../node_modules/@zohocorp/zohodesk-portal-chatkit/RNZohoDeskPortalChatKit.podspec'
Then, run the pod install command from the iOS directory.

After installing the pod, open the iOS project in Xcode and navigate to Build SettingsBuild Options. Under Build Options, set ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to Yes.

Next, include the following keys and their descriptions in the Info.plist file of your app.
    1.    Privacy - Camera Usage Description,
    2.    Privacy - Microphone Usage Description
    3.    Privacy - Photo Library Usage Description

How to initialize the SDK on React Native?

To initialize the SDK, include the following  Code Snippet in your JavaScript code:
  1. import {
    ZohoDeskPortalSDK
    }from '@zohocorp/zohodesk-portal-apikit';
    ZohoDeskPortalSDK.initialise("orgId", "appId", "dc");