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

Настройки инициализации SDK

Конструктор

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

Параметры конструктора:

ПолеТипОбязательныйОписание
providerUidStringДаКлюч для подключения к сервису (предоставляется edna при интеграции)
appMarkerString?Нет (default nil)Маркер приложения. Выдаётся при интеграции, если используется
chatConfigChatConfigДаМодель настроек чата. См. Настройки SDK
loggerConfigChatLoggerConfig?Нет (default nil — логирование отключено)Настройки логирования. См. Логирование

Пример:

let chatCenterSDK = ChatCenterUISDK(
providerUid: "YOUR_PROVIDER_UID",
chatConfig: chatConfig,
loggerConfig: ChatLoggerConfig(logLevel: .all)
)

Статические свойства

СвойствоТипОписание
versionStringТекущая версия SDK

Пример:

print("ChatCenterUI SDK version: \(ChatCenterUISDK.version)")

Свойства экземпляра

СвойствоТипОписание
themeChatThemeНастройки светлой темы. См. Дизайн-система. При присваивании перезаписывает darkTheme значением светлой темы — задавайте theme перед darkTheme
darkThemeChatThemeНастройки тёмной темы. Если не задана отдельно — используются значения из theme
localizationConfigChatLocalizationConfig?Настройки локализации. См. Локализация. Хранится в process-wide static — общая на все инстансы SDK
delegateChatCenterUISDKDelegate? (weak)Делегат для обработки событий SDK (счётчик непрочитанных, сетевые ошибки, обработка ссылок, логирование). Так как ссылка слабая, удерживайте делегат отдельно — обычно это AppDelegate, координатор или другой долгоживущий объект; ViewController, который скоро будет освобождён, в качестве делегата держать нельзя. См. Делегат SDK

Пример:

// Настройка темы (сначала light, потом dark — иначе dark затрётся)
chatCenterSDK.theme = ChatTheme()
chatCenterSDK.darkTheme = ChatTheme(colors: darkColors)

// Настройка делегата (weak — храните self в долгоживущем объекте)
chatCenterSDK.delegate = self

// Настройка локализации
chatCenterSDK.localizationConfig = ChatLocalizationConfig(
bundle: Bundle.main,
tableName: "MyLocalizable"
)

Связанные разделы