Настройки инициализации SDK
Конструктор
init(providerUid: String, appMarker: String? = nil, chatConfig: ChatConfig, loggerConfig: ChatLoggerConfig? = nil)
Параметры конструктора:
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
providerUid | String | Да | Ключ для подключения к сервису (предоставляется edna при интеграции) |
appMarker | String? | Нет (default nil) | Маркер приложения. Выдаётся при интеграции, если используется |
chatConfig | ChatConfig | Да | Модель настроек чата. См. Настройки SDK |
loggerConfig | ChatLoggerConfig? | Нет (default nil — логирование отключено) | Настройки логирования. См. Логирование |
Пример:
let chatCenterSDK = ChatCenterUISDK(
providerUid: "YOUR_PROVIDER_UID",
chatConfig: chatConfig,
loggerConfig: ChatLoggerConfig(logLevel: .all)
)
Статические свойства
| Свойство | Тип | Описание |
|---|---|---|
version | String | Текущая версия SDK |
Пример:
print("ChatCenterUI SDK version: \(ChatCenterUISDK.version)")
Свойства экземпляра
| Свойство | Тип | Описание |
|---|---|---|
theme | ChatTheme | Настройки светлой темы. См. Дизайн-система. При присваивании перезаписывает darkTheme значением светлой темы — задавайте theme перед darkTheme |
darkTheme | ChatTheme | Настройки тёмной темы. Если не задана отдельно — используются значения из theme |
localizationConfig | ChatLocalizationConfig? | Настройки локализации. См. Локализация. Хранится в process-wide static — общая на все инстансы SDK |
delegate | ChatCenterUISDKDelegate? (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"
)
Связанные разделы
- Настройки SDK — параметр
chatConfig - Логирование — параметр
loggerConfig - Локализация —
localizationConfig - Делегат SDK —
delegate - Дизайн-система —
theme/darkTheme