Skip to main content

События 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 -> {}
}
}