Отображение чата
Установка пользователя
Перед открытием чата обязательным шагом является установка пользователя:
let chatUser = ChatUser(identifier: "Идентификатор", name: "ФИО")
chatCenterSDK.authorize(user: chatUser)
Если дополнительные данные пользователя (email, сегмент и т.д.) становятся известны после авторизации, их можно обновить через метод chatUser.updateData(data:). Подробнее — в разделе Управление пользователем.
Идентификатор должен быть уникальным, постоянным и устойчивым к подбору — избегайте использования номеров телефонов, email и других идентификаторов, позволяющих однозначно идентифицировать пользователя. Если без них не обойтись, строго применяйте RSA‑шифрование.
При возникновении вопросов обращайтесь на support@edna.ru
Предзаполнение сообщения (опционально)
Перед открытием чата можно задать текст, который будет предзаполнен в поле ввода:
chatCenterSDK.prefill(message: "Вопрос по заказу №12345")
Текст подставляется однократно при следующем вызове getChat(). Подробнее — в разделе Управление пользователем.
Открытие чата
Для получения контроллера чата необходимо воспользоваться методом getChat у экземпляра SDK:
chatCenterSDK.getChat()
Для обработки возможных ошибок жизненного цикла SDK, этот метод может сгенерировать исключение, полный код с обработкой:
let result = Result { try chatCenterSDK.getChat() }
switch result {
case let .success(chatController):
// Открытие экрана чата в UINavigationController
navigationController?.pushViewController(chatController, animated: true)
case let .failure(error):
// Обработка ошибки (например, не задан пользователь)
print("error: \(error)")
}
Полученный экземпляр класса UIViewController можно использовать в приложении для отображения экрана чата.
Это можно сделать в контейнерах UINavigationController/UITabBarController или без.
Но нужно учитывать, что элементы навигации в чате используются из родительского контейнера.
Т.е по умолчанию рекомендуется использовать ваш UINavigationController или создать его для экрана чата.