Sendbird Desk SDK for iOS lets you easily initialize, configure, and build the customer-support related functionalities to a client app. When a customer asks for help through live, in-app support built with the Desk SDK, agents receive those messages as tickets and can start a conversation on the Sendbird Dashboard. This page walks you through the quick steps to create your first ticket by installing and initializing the Desk SDK.
Note: As Sendbird Desk works based on Sendbird Chat, the interaction between users is built and provided by Sendbird Chat.
The requirements of the Desk SDK for iOS are as below:
iOS 9.0 or higher
SendBird iOS SDK 3.0.220 or higher
Before installing Sendbird Desk SDK, contact our sales team to enable Sendbird Desk on your dashboard. If you don't have an account for the Sendbird Dashboard, sign up to create a Sendbird application first.
Note: A Sendbird application gets paired up with one client app. Agents can support customers across all platforms, but customers from different Sendbird applications are excluded because all data is limited to the scope of a single application.
You can install the Desk SDK for iOS using CocoaPods.
Podfilein Xcode as below:
- Initialize the
SBDSKMaininstance when launching a client app.
- Copy the
APP_IDof your Sendbird application from the dashboard. The same
APP_IDmust be used for both Chat and Desk SDKs.
- Call the
SBDMain.initWithApplicationId()method using the copied
- Call the
SBDSKMain.initializeDesk()method within the
Note: If you call the
SBDSKMain.initializeDesk()again after calling the
SBDMain.initWithApplicationId()with a different
APP_ID, all existing Desk-related data in the client app will be deleted.
Every ticket in Sendbird Desk is mapped to a group channel in Sendbird Chat because messages within a ticket are handled by Sendbird Chat. Therefore, a customer needs an authentication both within the Chat SDK and the Desk SDK to receive and send a message within a ticket. Use the
SBDMain.connect() and the
SBDMain.authenticate() method with a customer's user ID used in Sendbird Chat to authenticate a customer.
SBDSKTicket.createTicket() method to create a new ticket either before or after the customer’s initial message. Once a ticket is successfully created on the Desk server, you can access the ticket and its channel in the
ticket.channel through the callback from the server. Until a customer sends the first message, agents can’t see the ticket on the dashboard. When a conversation starts, the ticket is assigned to an available agent by the Desk server while messages are sent and received through the Chat SDK.
Note: Because the
SBDMaininstance in a client app is connected to Sendbird server, Desk related events are delivered to the Chat SDK's event delegates. The event delegates receive callbacks from the server through the
channel:userDidEnter:, and other event callback methods.