Методы Чата (3.0.0-3.12.23)

Методы класса UsedeskChatSdk

1. Установка конфигурации Чата
fun setConfiguration(chatConfiguration: UsedeskChatConfiguration)

Аргументы:

Название Тип Описание
chatConfiguration UsedeskChatConfiguration Конфигурация чата

Пример:

usedeskChat.setConfiguration(chatConfiguration)

2. Получение конфигурации
fun requireConfiguration(): UsedeskChatConfiguration  

Пример:

val chatConfiguration = usedeskChat.requireConfiguration() 

3. Инициализация Чата
fun init(context: Context): IUsedeskChat

Аргументы:

Название Тип Описание
context Context Контекст

Пример:

val usedeskChat = UsedeskChatSdk.init(requireContext())

4. Получение экземпляра инициализированного Чата
fun getInstance(): IUsedeskChat

Пример:

val usedeskChat = UsedeskChatSdk.getInstance()

5. Освобождение ресурсов Чата
fun release(force: Boolean = true)

Аргументы:

Название Тип Описание
force Boolean Флаг жёсткого освобождения ресурсов (true - освободит ресурсы немедленно, false - освободит в том случае, если нет ни одного слушателя событий)

Пример:

UsedeskChatSdk.release(false)

6. Установка фабрики сервиса уведомлений
fun setNotificationsServiceFactory(usedeskNotificationsServiceFactory: UsedeskNotificationsServiceFactory)

Аргументы:

Название Тип Описание
usedeskNofiticationsServiceFactory UsedeskNotificationsServiceFactory Фабрика сервиса

Пример:

val customNotificationsServiceFactory = object : UsedeskNotificationsServiceFactory{...}
usedeskChat.setNotificationsServiceFactory(customNotificationsServiceFactory)

7. Запуск сервиса уведомлений
fun startService(context: Context)

Аргументы:

Название Тип Описание
context Context Контекст

Пример:

usedeskChat.startService(requireContext())

8. Остановка сервиса уведомлений
fun stopService(context: Context)

Аргументы:

Название Тип Описание
context Context Контекст

Пример:

usedeskChat.stopService(requireContext())  

Методы класса IUsedeskChat

1. Добавление слушателя событий

fun addActionListener(listener: IUsedeskActionListener)
fun addActionListener(listener: IUsedeskActionListenerRx)

Пример:

val listener = object : IUsedeskActionListener{ ... }
usedeskChat.addActionListener(listener)
val listenerRx = object : IUsedeskActionListenerRx{ ... }
usedeskChat.addActionListenerRx(listener)

2. Удаление слушателя событий

fun removeActionListener(listener: IUsedeskActionListener)
fun removeActionListener(listener: IUsedeskActionListenerRx)

Пример:

usedeskChat.removeActionListener(listener)
usedeskChat.removeActionListener(listenerRx)

3. Проверка на наличие слушателей
fun isNoListeners(): Boolean

Пример:

if (UsedeskKnowledgeBaseSdk.getInstance().isNoListeners()) {...}

4. Подключение к серверу

fun connect()
fun connectRx(): Completable

Пример:

usedeskChat.connect()
usedeskChat.connectRx().subscribe({
    //completed
}, { throwable->
    throwable.printStackTrace()
})

5. Отключение от сервера
fun disconnect()
fun disconnectRx(): Completable

Пример:

usedeskChat.disconnect()
usedeskChat.disconnectRx().subscribe({
    //completed
}, { throwable->
    throwable.printStackTrace()
})  

6. Отправить текстовое сообщение
fun send(textMessage: String)
fun sendRx(textMessage: String): Completable

Аргументы:

Название Тип Описание
textMessage String Текстовое сообщение

Пример:

val textMessage = "Hello"
usedeskChat.send(textMessage)
usedeskChat.sendRx(textMessage).subscribe({
    //completed
}, { throwable->
    throwable.printStackTrace()
})   

7. Отправить файлы
fun send(usedeskFileInfoList: List<UsedeskFileInfo>)
fun sendRx(usedeskFileInfoList: List<UsedeskFileInfo>): Completable

Аргументы:

Название Тип Описание
usedeskFileInfoList List<usedeskfileinfo></usedeskfileinfo> Список файлов

Пример:

val usedeskFileInfoList = listOf(UsedeskFileInfo.create(fileUri))
usedeskChat.send(usedeskFileInfoList)
usedeskChat.sendRx(usedeskFileInfoList).subscribe({
    //completed
}, { throwable->
    throwable.printStackTrace()
})

8. Поставить оценку
fun send(message: UsedeskMessageAgentText, feedback: UsedeskFeedback)
fun sendRx(message: UsedeskMessageAgentText, feedback: UsedeskFeedback): Completable

Аргументы:

Название Тип Описание
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)
    usedeskChat.sendRx(usedeskFileInfoList).subscribe({
        //completed
    }, { throwable->
        throwable.printStackTrace()
    })
}  

9. Отправить форму обратной связи
fun send(offlineForm: UsedeskOfflineForm)
fun sendRx(offlineForm: UsedeskOfflineForm): Completable

Аргументы:

Название Тип Описание
agentMessage UsedeskMessageAgentText Сообщение агента, которому ставится отзыв
feedback UsedeskFeedback Оценка отзыва (LIKE, DISLIKE)

Пример:

val offlineForm = UsedeskOfflineForm(
    "John Smith",
    "john.smith@email.com",
    "Hello"
)
usedeskChat.send(offlineForm)
usedeskChat.sendRx(offlineForm).subscribe({
    //completed
}, { throwable->
    throwable.printStackTrace()
})