События SDK
События чата
Для отслеживания событий чата, необходимо подписаться на свойство messagingEvents
ChatHDE.messagingEvents.collect { event ->
...
}
События чата включают в себя:
InitWidget- Инициирующее сообщение, содержит информацию о чате, пользователе и др.NewMessage- Новое сообщение пользователя или агентаPrependMessages- Предыдущие сообщенияSetStaff- Агент был назначен (или снят) на чатStartChat- Был начат новый чат (после ввода данных пользователя в тикете и нажатия кнопки отправки)TicketCreated- Тикет был созданStartVisitorChat- Старт нового чата (после ввода данных пользователя в тикете и нажатия кнопки отправки)LoadTicket- Пользователь запросил загрузку предыдущих сообщений тикетаVisitorIsTyping- Пользователь вводит текст сообщенияLoadingMessage- Сообщение отправлено но еще не подтверждено сервером
Пример:
ChatHDE.messagingEvents.collect { event ->
when (event) {
is MessagingEvent.InitWidget -> {
println("Init widget")
}
else -> {}
}
}
Соединение с сервером
Для отслеживания состояния соединения, необходимо подписаться на свойство connectionState
ChatHDE.connectionState.collect { state ->
...
}
Состояния соединения включают в себя:
NeverConnected- Еще ни разу не был вызван connect()Disconnected- Ранее было соединение, но сейчас нетConnecting- Идет подключениеConnected- Соединение установленоError- Ошибка подключения
Пример:
ChatHDE.connectionState.collect { state ->
when (state) {
is ConnectionState.Connected -> {
println("Connected")
}
else -> {}
}
}