Методы Чата (4.0.0+)
Методы класса UsedeskChatSdk
1. Установка конфигурации Чата
fun setConfiguration(chatConfiguration: UsedeskChatConfiguration)
2. Получение конфигурации
fun requireConfiguration(): UsedeskChatConfiguration
3. Инициализация чата IUsedeskChat
fun init(context: Context): IUsedeskChat fun init( context: Context, chatConfiguration: UsedeskChatConfiguration )
Пример:
val usedeskChat = UsedeskChatSdk.init(requireContext()) val usedeskChat = UsedeskChatSdk.init(requireContext(), chatConfiguration)
4. Получение экземпляра инициализированного Чата
fun getInstance(): IUsedeskChat
5. Освобождение ресурсов Чата
fun release(force: Boolean = true)
Аргументы:
Название | Тип | Описание |
---|---|---|
force | Boolean | Флаг жёсткого освобождения ресурсов (true - освободит ресурсы немедленно, false - освободит в том случае, если нет ни одного слушателя событий) |
6. Инициализация класса IUsedeskPreparation
fun initPreparation( context: Context, chatConfiguration: UsedeskChatConfiguration )
Пример:
val usedeskChatPreparation = UsedeskChatSdk.initPreparation(requireContext(), chatConfiguration)
7. Освобождение класса IUsedeskPreparation
fun initPreparation(
context: Context,
chatConfiguration: UsedeskChatConfiguration
)
Пример:
val usedeskChatPreparation = UsedeskChatSdk.initPreparation(requireContext(), chatConfiguration)
fun initPreparation( context: Context, chatConfiguration: UsedeskChatConfiguration )
Пример:
val usedeskChatPreparation = UsedeskChatSdk.initPreparation(requireContext(), chatConfiguration)
8. Установка фабрики сервиса уведомлений
fun setNotificationsServiceFactory(usedeskNotificationsServiceFactory: UsedeskNotificationsServiceFactory)
Аргументы:
Название | Тип | Описание |
---|---|---|
usedeskNofiticationsServiceFactory | UsedeskNotificationsServiceFactory | Фабрика сервиса |
Пример:
val customNotificationsServiceFactory = object : UsedeskNotificationsServiceFactory{...} usedeskChat.setNotificationsServiceFactory(customNotificationsServiceFactory)
9. Запуск сервиса уведомлений
fun startService(context: Context)
Аргументы:
Название | Тип | Описание |
---|---|---|
context | Context | Контекст |
Пример:
usedeskChat.startService(requireContext())
10. Остановка сервиса уведомлений
fun stopService(context: Context)
Аргументы:
Название | Тип | Описание |
---|---|---|
context | Context | Контекст |
Пример:
usedeskChat.stopService(requireContext())
Методы класса IUsedeskChat
1. Добавление слушателя событий
fun addActionListener(listener: IUsedeskActionListener)
Пример:
val listener = object : IUsedeskActionListener{ ... } usedeskChat.addActionListener(listener)
2. Удаление слушателя событий
fun removeActionListener(listener: IUsedeskActionListener)
Пример:
usedeskChat.removeActionListener(listener)
3. Проверка на наличие слушателей
fun isNoListeners(): Boolean
Пример:
if (UsedeskKnowledgeBaseSdk.getInstance().isNoListeners()) {...}
4. Отправить текстовое сообщение
fun send(textMessage: String)
Пример:
usedeskChat.send("Hello")
5. Отправить файлы
fun send(usedeskFileInfoList: List<UsedeskFileInfo>)
Пример:
val usedeskFileInfoList = listOf(UsedeskFileInfo.create(fileUri)) usedeskChat.send(usedeskFileInfoList)
6. Отправить неотправленное сообщение заново
fun sendAgain(messageId: Long)
7. Удалить неотправленное сообщение
fun removeMessage(messageId: Long)
8. Задать шаблон сообщения
fun setMessageDraft(messageDraft: UsedeskMessageDraft)
fun setMessageDraft(messageDraft: UsedeskMessageDraft)
9. Получить шаблон сообщения
fun getMessageDraft(): UsedeskMessageDraft
fun getMessageDraft(): UsedeskMessageDraft
10. Отправить шаблон сообщения
fun sendMessageDraft()
fun sendMessageDraft()
11. Загрузить предыдущую страницу сообщений
fun loadPreviousMessagesPage()
fun loadPreviousMessagesPage()
12. Загрузить форму сообщения
fun loadForm(messageId: Long)
fun loadForm(messageId: Long)
12. Сохранить форму сообщения
fun saveForm(form: UsedeskForm)
fun saveForm(form: UsedeskForm)
13. Отправить форму сообщения
fun send(form: UsedeskForm)
fun send(form: UsedeskForm)
14. Поставить оценку
fun send(message: UsedeskMessageAgentText, feedback: UsedeskFeedback)
Аргументы:
Название | Тип | Описание |
---|---|---|
agentMessage | UsedeskMessageAgentText | Сообщение агента, которому ставится отзыв |
feedback | UsedeskFeedback | Оценка отзыва (LIKE, DISLIKE) |
Пример:
fun onFeedbackClick(agentMessage: UsedeskMessageAgentText, like: Boolean){ val feedback = if (like){ UsedeskFeedback.LIKE } else { UsedeskFeedback.DISLIKE } usedeskChat.send(agentMessage, feedback) }
15. Отправить форму обратной связи
fun send( offlineForm: UsedeskOfflineForm, onResult: (SendOfflineFormResult) -> Unit )
Пример:
val offlineForm = UsedeskOfflineForm( "John Smith", "john.smith@email.com", "Hello" ) usedeskChat.send(offlineForm){ result -> ... }
Методы класса IUsedeskPreparation
1. Создать чат
fun createChat( apiToken: String, onResult: (CreateChatResult) -> Unit )
Пример:
usedeskPreparation.createChat(apiToken){ result-> ... }