Методы чата

Методы чата

Отправка сообщения:

Переменная Тип Описание
Message String текст сообщения
MessageId String свой идентификатор сообщения. В полученном сообщении, после отправки с идентификатором, параметр loadingMessageId будет заполнен переданным идентификатором. Так вы сможете сопоставить отправленные и полученные сообщения.

Пример:

usedesk.sendMessage("привет как дела?", messageId: "123456789")

Отправка файла:

Переменная Тип Описание
fileName String имя файла
data Data файл в формате Data
MessageId String? свой идентификатор сообщения. В полученном сообщении, после отправки с идентификатором, параметр loadingMessageId будет заполнен переданным идентификатором. Так вы сможете сопоставить отправленные и полученные сообщения.
ProgressBlock UDProgressUploadBlock? замыкание в котором передается Progress для отслеживания загрузки файла.

Несколько файлов отправляются отдельными сообщениями

Пример:

usedesk.sendFile(fileName: "file.png", data: imageData, messageId: "123456789", status: {success, error in })

Блок возвращает следующие параметры:

Тип переменной Описание
Bool статус отправки
String описание ошибки

Метод usedesk.sendMessage(_, withFileName: , fileType: , contentBase64: ) удален

История сообщений в текущем чате:

История сообщений доступна после инициализации чата в параметре historyMess = [UDMessage]
UDMessage - объект хранящий всю информацию о сообщении

Пример:

usedesk.historyMess
Максимальное количество прикрепленных файлов:

Можно изменять максимальное количество прикрепленных файлов с помощью переменной maxCountAssets

Пример:

usedesk.maxCountAssets = 5

Новое входящее сообщение:

Пример:

usedesk.newMessageBlock { success, message in
}

Блок возвращает следующие параметры:

Тип переменной Описание
(UDMessage?) -> Void новое сообщение

Отправление оценки CSI:

Переменная Тип Описание
status Bool true - like, false - dislike
message_id Int Идентификатор сообщения (UDMessage.messageId) в котором поставлена оценка.

Пример:

usedesk!.sendMessageFeedBack(true)
Блок возвращающий ошибку соединения:

Пример:

usedesk.errorBlock = {errors in
}

Операторы завершили разговор

Блок возвращает следующие параметры:

Переменная Тип Описание
message UDMessage сообщение с type 4 – пользователь завершил разговор

Пример:

usedesk.feedbackMessageBlock = { message in
}

Другие методы

Статус соединения:

Возвращает статус соединения

usedesk.connectBlock = { bool in
}
Конец сессии:

Полностью очищает все параметры сдк, прекращает работу вебсокетов.

usedesk.releaseChat()
Закрытие чата:

Очищает историю сообщений, прекращает работу вебсокетов.

usedesk.closeChat()

Локализация

СДК поддерживает четыре языка: русский, английский, португальский, испанский. Можно передать свой языковой словарь. Посмотреть ключи и текущие локали можно в файле UDLocalizeManager. Если вы передаете свой словарь, он должен содержать все ключи дефолтных локализаций.

Настройки

Можно ограничить отправляемые клиентом типы контента, например запретить отправку видео или фото или и то и другое. Для этого нужно выбрать значение соответствующей переменной: isSupportedAttachmentOnlyPhoto(Bool) или isSupportedAttachmentOnlyVideo(Bool).

Пример:

usedesk.isSupportedAttachmentOnlyPhoto = true

Есть параметр isOpenSDKUI, показывающий открыты ли сейчас окна СДК.

Пример:

usedesk.isOpenSDKUI

Можно получить контроллер чата для самостоятельного отображения его на экране (Например в UITabBar). Для этого надо в методе инициализации чата указать параметр isPresentDefaultControllers = false и после удачной инициализации обратиться к методу chatViewController() который возвращает UIViewController?

Пример:

usedesk.chatViewController()


Можно получить навигейшн базы знаний для самостоятельного отображения базы знаний на экране(Например в UITabBar). Для этого надо в методе инициализации чата указать параметр isPresentDefaultControllers = false и после удачной инициализации обратиться к методу baseNavigationController() который возвращает UINavigationController?

Пример:

usedesk.baseNavigationController()

Была ли статья полезна?

Да Нет