Перейти к основному содержимому
Версия: 5.0.0

Инструкции по миграции

примечание

Документация в процессе доработки

Переход на версию 5.0.0

Подключение через CocoaPods

Название пода поменялось на ChatCenterUI, версия 5.0.0

Конфигурация ChatCenterUI

В этой версии изменился API SDK и он не совместим с версиями 4.x. Пример настройки можно посмотреть в демо приложении. (https://github.com/edna-ru/cc-ios-demo)

Основные шаги остались прежними:

    1. Настройка подключения к серверу
    let chatTransportConfig = ChatTransportConfig(rest: "restURL",
webSocket: "webSocketURL",
dataStore: "dataStoreURL")
    1. Настройка параметров сетевого подключения
    var chatNetworkConfig = ChatNetworkConfig()
chatNetworkConfig.sslPinning.allowUntrustedSSLCertificate = true
    1. Настройка параметров работы чата
    var chatConfig = ChatConfig(transportConfig: chatTransportConfig,
networkConfig: chatNetworkConfig)
chatConfig.searchEnabled = searchEnabled
chatConfig.voiceRecordingEnabled = voiceRecordingEnabled
chatConfig.linkPreviewEnabled = linkPreviewEnabled
chatConfig.keepSocketActive = keepWebSocketActive
    1. Инициализация СДК
    let chatCenterSdk = ChatCenterUISDK(providerUid: selectedServer.providerUid,
chatConfig: chatConfig,
loggerConfig: ChatLoggerConfig(logLevel: .all))
    1. Настройка тем оформления
    chatCenterSdk.theme = makeLightTheme()
chatCenterSdk.darkTheme = makeDarkTheme()

Настройка внешнего вида

Настройка UI осуществляется через темы (светлая/темная).

В СДК 3 уровня кастомизации интерфейса:

  1. Минимальный. Настройка цветов, шрифтов и/или изображений (например, под корпоративные цвета)

  2. Покомпонентный. Настройка компонентов дизайн системы СДК (переиспользуемые элементы, например кнопка)

  3. Точечный. Детальная настройка flow (экраны чата или поиска), в этом случае настраивается внешний вид конкретного элемента на экране

Уровни имеют вложенную структуру:

let components = ChatComponents(images: ChatImages(), colors: ChatColors(), typography: ChatTypography())
let flows = ChatFlows(components: components)
let theme = ChatTheme(flows: flows)

Приоритет у нижних выше, т.е если в ChatFlow установить цвет элемента, он заменит цвет заданнный в компоненте ChatColors