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? { get set } -
Делегат для подписки на события из СДК
Declaration
Swift
public weak var delegate: ChatCenterUISDKDelegate? { get set } -
Настройки светлой темы
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]) -> BoolParameters
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: [AnyHashable : Any]? = nil) throws(ChatCenterUIError) -> UIViewControllerParameters
userInfoСловарь с Push уведомлением (при открытии по пушу)
Return Value
Контроллер чата
-
Метод для отправки сообщения в активный чат от пользователя
Генерирует исключение (ChatCenterUISendMessageError) в случае возникновения ошибки при отправке
Declaration
Swift
public func send(message: ChatMessage) throws(ChatCenterUISendMessageError)Parameters
messageМодель сообщения
-
Метод для обработки Push уведомлений в уже открытом чате
Declaration
Swift
public func handleNotification(userInfo: [AnyHashable : Any]) throws(ChatCenterUIError)Parameters
userInfoСловарь с уведомлением
View on GitHub