ChatCenterUISDK
public final class ChatCenterUISDK
Основной экземпляр ChatCenterUI SDK
Через него осуществляются все взаимодействия с SDK:
- Инициализация
- Управление активным пользователем
- Настройка внешнего вида
Открытие чата
Note
При обычной интеграции рекомендуется создавать и использовать один экземпляр на приложение
-
Конструктор ChatCenterUI SDK
Declaration
Swift
public init(providerUid: String, appMarker: String? = nil, chatConfig: ChatConfig, loggerConfig: ChatLoggerConfig? = nil)
Parameters
providerUid
Ключ для подключения к сервису (предоставляется при интеграции)
appMarker
Маркер приложения (если нужен, предоставляется при интеграции)
chatConfig
Настройки чата
loggerConfig
Настройки логирования
-
Версия SDK
Declaration
Swift
public static let version: String
-
Настройки локализации
Declaration
Swift
public var localizationConfig: ChatLocalizationConfig?
-
Делегат для подписки на события из СДК
Declaration
Swift
public weak var delegate: ChatCenterUISDKDelegate? { get set }
-
Количество непрочитанных сообщений
Declaration
Swift
public var unreadMessagesCount: Int { get }
-
Настройки светлой темы
Declaration
Swift
public var theme: ChatTheme { get set }
-
Настройки темной темы
Declaration
Swift
public var darkTheme: ChatTheme { get set }
-
Метод для проверки принадлежности уведомления к ChatCenterUI SDK
Declaration
Swift
public static func isChatCenterNotification(_ userInfo: [String : Any]) -> Bool
Parameters
userInfo
Словарь с уведомлением от APNS
Return Value
Результат
-
Метод установки токена устройства для отправки Push уведомлений через APNS
Можно использовать до инициализации экземпляра ChatCenterUISDK
Рекомендуется устанавливать в методе func application(_: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
Declaration
Swift
public static func setDeviceToken(_ deviceToken: Data)
Parameters
deviceToken
Токен устройства в APNS
-
Метод для удаления текущего активного пользователя (Закрывает подключения к серверу в ChatCenterUI SDK)
Необходимо вызывать только при наличии авторизационной зоны в МП. (Например, когда пользователь выходит на экран ввода пин кода) Перед повторным открытием чата необходимо авторизовать нового пользователя через метод authorize
Declaration
Swift
public func deauthorizeUser()
-
Метод для завершения сессии пользователя (в том числе на сервере)
Необходимо вызывать только после логаута пользователя в мобильном приложении
Пользователь перестанет получать пуш уведомления о новых сообщениях Перед повторным открытием чата необходимо повторно авторизовать пользователя через метод authorize
Declaration
Swift
public func logout() throws(ChatCenterUIError)
-
Метод для получения контроллера чата для его отображения
Declaration
Swift
public func getChat(userInfo: [String : Any]? = nil) throws(ChatCenterUIError) -> UIViewController
Parameters
userInfo
Словарь с Push уведомлением (при открытии по пушу)
Return Value
Контроллер чата
-
Метод для отправки сообщения в активный чат от пользователя
Генерирует исключение (ChatCenterUISendMessageError) в случае возникновения ошибки при отправке
Declaration
Swift
public func send(message: ChatMessage) throws(ChatCenterUISendMessageError)
Parameters
message
Модель сообщения
-
Метод для обработки Push уведомлений в уже открытом чате
Declaration
Swift
public func handleNotification(userInfo: [String : Any]) throws(ChatCenterUIError)
Parameters
userInfo
Словарь с уведомлением