iOS SDK
Настройка UI
Напоминание: перед настройкой UI необходимо выполнить базовую инициализацию SDK.
Руководство по инициализации SDK для iOS
Далее переходим к настройке пользовательского интерфейса перед его использованием.
Установка настроек
Далее необходимо применить настройки SDK. Это можно сделать сразу или позже, в зависимости от вашей реализации. Однако мы рекомендуем выполнить эту процедуру как можно раньше, так как от настроек зависит конфигурация SDK
Используйте метод SID.Settings.applyMainPreferences() для настройки параметров:
| Параметр | Кратность | Тип данных | Описание | Пример |
|---|---|---|---|---|
clientID | 1 | String | ClientID приложения | 40c1d5da-1532-11eb-adc1-0242ac120002 |
userID | 0–1 | String | ID пользователя (сгенерированный партнером идентификатор) | 2ffuy3vv7sk11ddfsxn6 |
partnerName | 0–1 | String | Имя / название приложения | Звук |
partnerProfileUrl | 0–1 | String | URL для дополнительного запроса данных | https://zvuk.com/ |
stand | 0–1 | String | Тип стенда (используется для тестирования) | — |
Пример установки всех параметров:
SID.settings.applyMainPreferences(
clientID: "clientID",
userID: "userID",
partnerName: "partnerName",
partnerProfileUrl: "partnerProfileUrl",
stand: .prom
)
*Для параметра stand доступны следующие значения: .prom (продакшн), .ift, .psi, .iftCloud, .psiPrcloud.
Вызовы всех методов SDK iOS должны выполняться из главного (UI) потока приложения. Поскольку эти методы тесно связаны с UI и внутренними процессами SDK, их вызов из других потоков приводят к непредсказуемому поведению приложения.
Настройка пользовательского интерфейса
Используйте метод SID.Settings.applyUIPreferences() для настройки параметров:
Важно: если параметры не заданы, будут автоматически применены значения по умолчанию.
Все параметры опциональны
| Объект | Тип | Описание |
|---|---|---|
texts | SIDTextsELK? | Тексты ошибок (заголовок, описание, текст кнопки) |
themeColor | SIDColorELK? | Акцентный цвет, используемый в интерфейсе.Сейчас цвет используется для:номера телефона+стрелочка в блоке пользователя;инициалы для аватарки и 0.2 цвета используют для фона аватарки (если цвета не указаны непосредственно в параметрах виджета)кнопки на экране ошибки |
primaryColor | SIDColorELK? | Основной цвет т екстов используемых в интерфейсе. |
secondaryColor | SIDColorELK? | Вторичный цвет текстов используемых в интерфейсе. |
warningColor | SIDColorELK? | Цвет предупреждений |
widgetBackgroundColor | SIDColorELK? | Цвет фона виджетов |
fonts | SIDFontsELK? | Настройки шрифтов |
network | SIDNetworkELK? | Сетевые заголовки для запросов к бэкенду партнёра |
elkErrorType | SIDErrorTypesELK? | Тип ошибки ЕЛК (например, NONE, TYPE_1 и т.д.) |
dimensions (iOS) | SIDDimensions? | Отступы ЕЛК |
Цвет — SIDColorELK
| Параметр | Обязательность | Тип | Описание |
|---|---|---|---|
light | 0–1 | Int | Цвет для светлой темы |
dark | 0–1 | Int | Цвет для тёмной темы |
Шрифты — SIDFontsELK
| Пара метр | Обязательность | Тип | Описание |
|---|---|---|---|
semiBoldResID | 0–1 | Int | Идентификатор ресурса полужирного шрифта (R.font.xxx) |
mediumResID | 0–1 | Int | Идентификатор ресурса среднего шрифта (R.font.xxx) |
Текст ошибки — SIDTextsELK
| Параметр | Обязательность | Тип | Описание | Значение по умолчанию |
|---|---|---|---|---|
titleError | 0–1 | String | Заголовок ошибки | "Ой, ошибочка вышла" |
descriptionError | 0–1 | String | Описание ошибки | "Загляните сюда позже — успеем загрузить к вашему возвращению" |
buttonError | 0–1 | String | Текст кнопки ошибки | "Попробовать снова" |
Тип экрана ошибки — SIDErrorTypesELK
| Параметр | Обязательность | Тип | Описание | Возможные значения |
|---|---|---|---|---|
named | 0–1 | String | Идентификатор типа ошибки |
|
Отступы — SIDDimensionsELK (iOS)
| Параметр | Обязательность | Тип | Описание |
|---|---|---|---|
elkHorizontalPadding | 0–1 | Int | Горизонтальные отступы от краёв всего ЕЛК-контейнера |
elkSpaceUserInfoMini | 0–1 | Int | Отступ справа в виджете USER_INFO_MINI |
Настройки сетевых запросов - SIDNetwork
| Параметр | Обязательность | Тип | Описание |
|---|---|---|---|
headersELK | 0–1 | android - Map String, String<b/>iOS - [String: String] | Авторизационные хедеры П артнера |
Применить UI настройки
public func applyUIPreferences(preferences: SIDUIPreferences) {
staticStorageService.uiPreferences.merge(with: preferences)
}