Desk360 Docs
  • Introduction to Desk360
  • 🚀Quick Start Guide
  • Start
    • Sign Up
    • Verify Your Email
    • Add Product/Brand
    • Channel Integration
    • Add User
    • Invite Your Team
  • User Communication Channels
    • In-App Message Box Channel
    • Web Contact Us Channel
    • Email Channel
    • Apple App Store Channel
    • Google Play Store Channel
    • Huawei AppGallery Channel
    • WhatsApp Channel
    • Live Chat Channel
    • Instagram Channel
    • Facebook Channel
    • Twitter Channel
  • Desk360 Platform Navigation
    • Dashboard
    • Tickets
      • Creating Internal Tickets
      • Listing and Filtering
      • Multiple Operations
      • Actions
      • Ticket Details
      • Ticket Status
      • Ticket Types
      • Ticket Reasons
      • Ready Answers
      • Ticket History Log
      • Callback Function
      • Automatic Replies
        • Automatic Replies During Working Hours
      • Automatic Assignments
      • Assignment by Request Type
      • Prioritization Rules
        • Setting Priorities
        • Creating Folders
      • SLA Management
      • Business Hours
      • Tag Management
    • Chat
      • Chat Settings
      • Automatic Assignments
      • Manual Assignments
      • Human Agent Functionality
      • Custom Chatbots
      • Chat History Forwarding
      • Bulk Actions
    • Reports
      • Ticket Reports
        • Ticket Analysis Reports
        • User Performance
      • Chat Reports
        • Chat Reports
        • User Reports
        • Chat Cockpit
      • SLA Reports
    • Product and Communication Channel Integrations
      • In-App Message Box Channel Integration
        • In-App Message Box Integration Settings
        • Customizable In-App Message Box
        • In-App Message Box Notifications
      • Web Contact Us Channel Integration
        • Web Contact Us Form
        • FAQ and Contact Us Page Settings
          • General Settings
          • FAQ Settings
          • Contact Us Page Settings
      • Email Channel Integration
        • Gmail SMTP Integration
        • Yandex SMTP Integration
        • Outlook SMTP Integration
        • E-mail features
      • Apple App Store Channel Integration
      • Google Play Store Channel Integration
      • Huawei AppGallery Channel Integration
      • WhatsApp Channel Integration
        • WABA Prerequisites
        • New WhatsApp Business API Pricing
        • WhatsApp Integration Steps
        • WhatsApp Auto-Reply Function
        • WhatsApp Custom Bots
        • WhatsApp Message Templates
        • How to use WhatsApp Message Templates
        • WhatsApp Message Template Statistics
        • WhatsApp Web Widget
      • Live Chat Channel Integration
      • Facebook Channel Integration
      • Instagram Channel Integration
      • Twitter Channel Integration
    • Chatbot Integration
    • Settings
      • Import Data
      • Language Settings
      • Professional Support In 40 Languages
    • Users
      • User Groups
      • User Roles
      • User Settings
  • INTEGRATIONS
    • JIRA
    • Slack
    • Trello
    • Alotech
  • Desk360 Mobile SDK
    • iOS SDK
    • Android SDK
    • Flutter SDK
    • React Native SDK
  • DESK360 MOBILE CHAT SDK
    • Mobile Chat iOS SDK
    • Mobile Chat Android SDK
  • DESK360 API (1.0.0)
    • API Documentation
Powered by GitBook
On this page
  • Features
  • Getting started
  • Usage
  • Support

Was this helpful?

  1. Desk360 Mobile SDK

React Native SDK

Desk360 React Native SDK helps you embedding customer support in your React Native mobile applications with ease.

Features

  • Turn all your customer support requests into tickets and interact with these messages using our powerful platform.

  • React Native SDK has highly customizable and flexible UI options.

  • Push notifications and deep linking support options are both available.

  • Give multilingual support for your customers: It supports 40+ languages.

  • React Native SDK supports different types of media and file formats.

  • It's easy to use and integrate. After writing only a few lines of code, you're ready to use!

Getting started

$ npm install Teknasyon-Teknoloji/desk360-react-native-sdk#1.0.0 --save

React Native 0.59 and below

Run $ react-native link react-native-desk360rn to link the library.

Installation Notes

  • IOS

  • Set ios version to 10.0 or higher in ios/Podfile like: platform :ios, '10.0'

  • Remove flipper from ios/Podfile if exists.

  • Add use_frameworks!for your target

  • Run $ cd ios && pod install

  • ANDROID

  • Set minSdkVersion to 21 or higher in android/build.gradle

  • Add maven { url 'https://jitpack.io/' } into android/build.gradle (Add into repositories under allprojects)

  • Make sure your min gradle version is "3.6.4" or higher in android/build.gradle. (Check troubleshooting section to see example)

Add Data and View Binding enable script

apply plugin: 'kotlin-kapt'

  

android {

buildFeatures {

dataBinding true

}

}

Usage

Let's start

  • On application start you need to initialize sdk with api key and environment. Start Desk360 with appId -and an optinal deviceId, an optional language-

import  RNDesk360, { Desk360Platform, Desk360Environment } from  'react-native-desk360rn';

RNDesk360.getInstance().initialize({
	"appID":  "APP KEY",
	"deviceID":  "DEVICE ID",
	"appVersion":  "1.0.0",
	"languageCode":  'en',
	"environment":  Desk360Environment.SANDBOX,
	"platform":  Desk360Platform.GOOGLE,
	"countryCode":  'tr',
	"bypassCreateTicketIntro":true,
	"name":  "Username (ticket ownner)",
	"jsonInfo":{
		"key":"value"
	}
});

RNDesk360.getInstance().start(); // shows Desk360

Important footnot

You must add your info.plist file.

<key>NSPhotoLibraryUsageDescription</key>

<string>Allow the app to access your photos.</string>

Permission text is optional. you can type whatever you want. But this permission not optional. If you didn't add this permission. Desk360 Images attachment property doesn't work.

Using Optional Notification System

If you need to send a notification when a message is sent to the users. You have to do this integration in ios.

import  Desk360

  

@UIApplicationMain

final  class  AppDelegate: UIResponder, UIApplicationDelegate {

  
	func  application(_  application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken  deviceToken: Data) {
	
		Desk360.setPushToken(deviceToken: deviceToken)
	
	}

}

Also if you want notification redirect deeplink system. You should some extra integration.

import  Desk360

  

@UIApplicationMain

final  class  AppDelegate: UIResponder, UIApplicationDelegate {

	func  application(_  application: UIApplication, didFinishLaunchingWithOptions  launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

		Desk360.applicationLaunchChecker(launchOptions)

		if  #available(iOS  10.0, *) {

			let center = UNUserNotificationCenter.current()

			center.delegate = self

		}

		return  true

	}

}

  
  

// MARK: - UNUserNotificationCenterDelegate

extension  AppDelegate: UNUserNotificationCenterDelegate {

 
	func  userNotificationCenter(_  center: UNUserNotificationCenter, willPresent  notification: UNNotification, withCompletionHandler  completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {

		completionHandler([.alert])

		Desk360.willNotificationPresent(notification.request.content.userInfo)

	}

  

	func  application(_  application: UIApplication, didReceiveRemoteNotification  userInfo: [AnyHashable: Any], fetchCompletionHandler  completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

		Desk360.applicationUserInfoChecker(userInfo)

	}

	@available(iOS  10.0, *)

	public  func  userNotificationCenter(_  center: UNUserNotificationCenter, didReceive  response: UNNotificationResponse, withCompletionHandler  completionHandler: @escaping () -> Void) {

		Desk360.applicationUserInfoChecker(response.notification.request.content.userInfo)

	}

}

  

When you click on the notification when your application is closed, you need to add this code on which page you want Des360 to open.

...

RNDesk360.getInstance().showWithPushDeeplink();

...

  

Getting the unread tickets

If you would like to get a list of the unread tickets you can do so like follows:

RNDesk360.getInstance().getUnreadTickets().then( (results) {

	print(results);

});

  

You can show the unread tickets the way that fits your app design and expierence. If you want to navigate to a specific ticket

detail you can do so so by following:

RNDesk360.getInstance().ticketDetailsViewController(unreadTicket);

  

Support

PreviousFlutter SDKNextMobile Chat iOS SDK

Last updated 2 years ago

Was this helpful?

Note: If no deviceId is provided, Desk360 will use device's , which might cause your app to lose tickets when the application is deleted. If use environment type .production, Desk360 will look at prod url. If no application language is provided, Desk360 will use device's language.

After the above integration, it is sufficient to make the notification certificate settings in the admin panel. You can now use notifications

For further information, please with contact us

Visit our page for usage, technical setup and detailed info.

UUID
Desk360
support@desk360.com
GITHUB