Mobile Chat iOS SDK

Desk360 Mobile Native Chat SDK for iOS provides simplicity and usability in one place. With this feature, you can provide live support to your customers directly within your app just by writing a few lines of code.

Features

  • Talk to your customers using Desk360 panel and make use of Desk360 Chat SDK to identify a user and provide contextual support.

  • Ability to integrate chatbots.

  • Multilingual support: It supports 40+ languages.

  • Supports different types of media and file formats.

  • Easy to use and integrate: only a few lines of code!

  • Smart Plugs.

  • Canned Response

  • Auto-Login.

Installation

CocoaPods

Desk360LiveChat is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Desk360LiveChat'

Manually

If you prefer not to use any of the aforementioned dependency managers, you can integrate LiveChat into your project manually. Simply drag the Sources Folder into your Xcode project.

Usage

You must add your info.plist file.

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

you can present the live support screen from any view controller like follows.

Initialization

let properties = LiveChatProperties(
      appKey: apiKey,
      host: host,
      deviceID: uuid,
      loginCredentials: credentials,
      smartPlug: smartPlug
)

Desk360LiveChat.shared.start(using: properties, on: self)

Smart Plugs

let keyValues: SmartPlugType = [
   "key1": 15,
   "key2": true,
   "key3": [1,2,3,4],
   "key4": ["a","b","c"],
   "key5": ["key6": 0]
]
let smartPlug = SmartPlug(keyValues)

Pass your Smart Plugs object to the LiveChatProperties.

Auto-Login

For enabling auto-login pass pre-defined user credentials into the SDK start method..

   var credentials =  Credentials(name: "Test", email: "test@test.com")

If you're using IQKeyboardManager in your project please ignore Desk360LiveChat classes from it by calling:

let viewControllers = LiveChat.shared.viewControllersToBeExcludedFromIQKeyboardManager
viewControllers.forEach {
   IQKeyboardManager.sharedManager().disabledDistanceHandlingClasses.append($0)
   }

Support

For further information, please with contact us support@desk360.com

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

Last updated