ChatCenterUISDK

public final class ChatCenterUISDK

Основной экземпляр ChatCenterUI SDK

Через него осуществляются все взаимодействия с SDK:

  • Инициализация
  • Управление активным пользователем
  • Настройка внешнего вида
  • Открытие чата

Note

При обычной интеграции рекомендуется создавать и использовать один экземпляр на приложение

Lifecycle

  • Конструктор ChatCenterUI SDK

    Declaration

    Swift

    public init(providerUid: String,
                appMarker: String? = nil,
                chatConfig: ChatConfig,
                loggerConfig: ChatLoggerConfig? = nil)

    Parameters

    providerUid

    Ключ для подключения к сервису (предоставляется при интеграции)

    appMarker

    Маркер приложения (если нужен, предоставляется при интеграции)

    chatConfig

    Настройки чата

    loggerConfig

    Настройки логирования

Public

  • Версия 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

    Пользователь должен быть установлен до открытия экрана чата

    Declaration

    Swift

    public func authorize(user: ChatUser, auth: ChatAuth = ChatAuth())

    Parameters

    user

    Пользователь

    auth

    Настройки авторизации (если используется кастомный способ)

  • Метод для удаления текущего активного пользователя (Закрывает подключения к серверу в 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

    Словарь с уведомлением