Chat Methods
UsedeskChatSdk Class Methods
1. Configuring Chat
fun setConfiguration(chatConfiguration: UsedeskChatConfiguration)
Arguments:
Name | Type | Description |
---|---|---|
chatConfiguration | UsedeskChatConfiguration | Chat configuration |
Example:
usedeskChat.setConfiguration(chatConfiguration)
2. Getting the configuration
fun requireConfiguration(): UsedeskChatConfiguration
Example:
val chatConfiguration = usedeskChat.requireConfiguration()
3. Chat initialization
fun init(context: Context): IUsedeskChat
Arguments:
Name | Type | Description |
---|---|---|
context | Context | Context |
Example:
val usedeskChat = UsedeskChatSdk.init(requireContext())
4. Getting an Instance of an Initialized Chat
fun getInstance(): IUsedeskChat
Example:
val usedeskChat = UsedeskChatSdk.getInstance()
5. Freeing Chat Resources
fun release(force: Boolean = true)
Arguments:
Name | Type | Description |
---|---|---|
force | Boolean | Flag for hard release of resources (true - will release resources immediately, false - will release if there are no event listeners) |
Example:
UsedeskChatSdk.release(false)
6. Setting up the notification service factory
fun setNotificationsServiceFactory(usedeskNotificationsServiceFactory: UsedeskNotificationsServiceFactory)
Arguments:
Name | Type | Description |
---|---|---|
usedeskNofiticationsServiceFactory | UsedeskNotificationsServiceFactory | Service factory |
Example:
val customNotificationsServiceFactory = object : UsedeskNotificationsServiceFactory{...} usedeskChat.setNotificationsServiceFactory(customNotificationsServiceFactory)
7. Starting the notification service
fun startService(context: Context)
Arguments:
Name | Type | Description |
---|---|---|
context | Context | Context |
Example:
usedeskChat.startService(requireContext())
8. Stopping the notification service
fun stopService(context: Context)
Arguments:
Name | Type | Description |
---|---|---|
context | Context | Context |
Example:
usedeskChat.stopService(requireContext())
IUsedeskChat Class Methods
1. Adding an event listener
fun addActionListener(listener: IUsedeskActionListener) fun addActionListener(listener: IUsedeskActionListenerRx)
Example:
val listener = object : IUsedeskActionListener{ ... } usedeskChat.addActionListener(listener) val listenerRx = object : IUsedeskActionListenerRx{ ... } usedeskChat.addActionListenerRx(listener)
2. Removing an event listener
fun removeActionListener(listener: IUsedeskActionListener) fun removeActionListener(listener: IUsedeskActionListenerRx)
Example:
usedeskChat.removeActionListener(listener) usedeskChat.removeActionListener(listenerRx)
3. Checking for listeners
fun isNoListeners(): Boolean
Example:
if (UsedeskKnowledgeBaseSdk.getInstance().isNoListeners()) {...}
4. Server connection
fun connect() fun connectRx(): Completable
Example:
usedeskChat.connect() usedeskChat.connectRx().subscribe({ //completed }, { throwable-> throwable.printStackTrace() })
5. Disconnect from the server
fun disconnect() fun disconnectRx(): Completable
Example:
usedeskChat.disconnect() usedeskChat.disconnectRx().subscribe({ //completed }, { throwable-> throwable.printStackTrace() })
6. Send a text message
fun send(textMessage: String) fun sendRx(textMessage: String): Completable
Arguments:
Name | Type | Description |
---|---|---|
textMessage | String | Text Message |
Example:
val textMessage = "Hello" usedeskChat.send(textMessage) usedeskChat.sendRx(textMessage).subscribe({ //completed }, { throwable-> throwable.printStackTrace() })
7. Send files
fun send(usedeskFileInfoList: List) fun sendRx(usedeskFileInfoList: List ): Completable
Arguments:
Name |
Type | Description |
---|---|---|
usedeskFileInfoList | List |
list of files |
Example:
val usedeskFileInfoList = listOf(UsedeskFileInfo.create(fileUri)) usedeskChat.send(usedeskFileInfoList) usedeskChat.sendRx(usedeskFileInfoList).subscribe({ //completed }, { throwable-> throwable.printStackTrace() })
8. Rate
fun send(message: UsedeskMessageAgentText, feedback: UsedeskFeedback) fun sendRx(message: UsedeskMessageAgentText, feedback: UsedeskFeedback): Completable
Arguments:
Name | Type | Description |
---|---|---|
agentMessage | UsedeskMessageAgentText | The agent's message to whom the review is being submitted |
feedback | UsedeskFeedback | Review score (LIKE, DISLIKE) |
Example:
fun onFeedbackClick(agentMessage: UsedeskMessageAgentText, like: Boolean){ val feedback = if (like){ UsedeskFeedback.LIKE } else { UsedeskFeedback.DISLIKE } usedeskChat.send(agentMessage, feedback) usedeskChat.sendRx(usedeskFileInfoList).subscribe({ //completed }, { throwable-> throwable.printStackTrace() }) }
9. Send feedback form
fun send(offlineForm: UsedeskOfflineForm) fun sendRx(offlineForm: UsedeskOfflineForm): Completable
Arguments:
Name | Type | Description |
---|---|---|
agentMessage | UsedeskMessageAgentText | The agent's message to whom the review is being submitted |
feedback | UsedeskFeedback | Review score (LIKE, DISLIKE) |
Example:
val offlineForm = UsedeskOfflineForm( "John Smith", "john.smith@email.com", "Hello" ) usedeskChat.send(offlineForm) usedeskChat.sendRx(offlineForm).subscribe({ //completed }, { throwable-> throwable.printStackTrace() })