ym88659208ym87991671
iOS SDK | Документация для разработчиков

iOS SDK

Обновлено 12 декабря 2025

Настройка UI

Напоминание: перед настройкой UI необходимо выполнить базовую инициализацию SDK.

Руководство по инициализации SDK для iOS

Далее переходим к настройке пользовательского интерфейса перед его использованием.

Установка настроек

Далее необходимо применить настройки SDK. Это можно сделать сразу или позже, в зависимости от вашей реализации. Однако мы рекомендуем выполнить эту процедуру как можно раньше, так как от настроек зависит конфигурация SDK

Используйте метод SID.Settings.applyMainPreferences() для настройки параметров:

ПараметрКратностьТип данныхОписаниеПример
clientID1StringClientID приложения40c1d5da-1532-11eb-adc1-0242ac120002
userID0–1StringID пользователя (сгенерированный партнером идентификатор)2ffuy3vv7sk11ddfsxn6
partnerName0–1StringИмя / название приложенияЗвук
partnerProfileUrl0–1StringURL для дополнительного запроса данныхhttps://zvuk.com/
stand0–1StringТип стенда (используется для тестирования)

Пример установки всех параметров:

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() для настройки параметров:

Важно: если параметры не заданы, будут автоматически применены значения по умолчанию.

Все параметры опциональны

ОбъектТипОписание
textsSIDTextsELK?Тексты ошибок (заголовок, описание, текст кнопки)
themeColorSIDColorELK?Акцентный цвет, используемый в интерфейсе.Сейчас цвет используется для:номера телефона+стрелочка в блоке пользователя;инициалы для аватарки и 0.2 цвета используют для фона аватарки (если цвета не указаны непосредственно в параметрах виджета)кнопки на экране ошибки
primaryColorSIDColorELK?Основной цвет текстов используемых в интерфейсе.
secondaryColorSIDColorELK?Вторичный цвет текстов используемых в интерфейсе.
warningColorSIDColorELK?Цвет предупреждений
widgetBackgroundColorSIDColorELK?Цвет фона виджетов
fontsSIDFontsELK?Настройки шрифтов
networkSIDNetworkELK?Сетевые заголовки для запросов к бэкенду партнёра
elkErrorTypeSIDErrorTypesELK?Тип ошибки ЕЛК (например, NONE, TYPE_1 и т.д.)
dimensions (iOS)SIDDimensions?Отступы ЕЛК

Цвет — SIDColorELK

ПараметрОбязательностьТипОписание
light0–1IntЦвет для светлой темы
dark0–1IntЦвет для тёмной темы

Шрифты — SIDFontsELK

ПараметрОбязательностьТипОписание
semiBoldResID0–1IntИдентификатор ресурса полужирного шрифта (R.font.xxx)
mediumResID0–1IntИдентификатор ресурса среднего шрифта (R.font.xxx)

Текст ошибки — SIDTextsELK

ПараметрОбязательностьТипОписаниеЗначение по умолчанию
titleError0–1StringЗаголовок ошибки"Ой, ошибочка вышла"
descriptionError0–1StringОписание ошибки"Загляните сюда позже — успеем загрузить к вашему возвращению"
buttonError0–1StringТекст кнопки ошибки"Попробовать снова"

Тип экрана ошибки — SIDErrorTypesELK

ПараметрОбязательностьТипОписаниеВозможные значения
named0–1StringИдентификатор типа ошибки
  • "NONE" — экран ошибки скрыт (по умолчанию)
  • "TYPE_1" — стандартный экран ошибки
  • "TYPE_2" — (устаревший, "Котик")
  • "TYPE_3" — тематический экран (например, "Звук")

Отступы — SIDDimensionsELK (iOS)

ПараметрОбязательностьТипОписание
elkHorizontalPadding0–1IntГоризонтальные отступы от краёв всего ЕЛК-контейнера
elkSpaceUserInfoMini0–1IntОтступ справа в виджете USER_INFO_MINI

Настройки сетевых запросов - SIDNetwork

ПараметрОбязательностьТипОписание
headersELK0–1android - Map String, String<b/>iOS - [String: String]Авторизационные хедеры Партнера

Применить UI настройки

public func applyUIPreferences(preferences: SIDUIPreferences) {
staticStorageService.uiPreferences.merge(with: preferences)
}
let preferences = SIDUIPreferences(
texts: SIDTexts(
titleError: "titleError",
descriptionError: "descriptionError",
buttonError: "buttonError"
),
themeColor: SIDColor(
light: .black,
dark: .white
),
primaryColor: SIDColor(
light: .black,
dark: .white
),
secondaryColor: SIDColor(
light: .black,
dark: .white
),
fonts: SIDFonts(
semiboldFont: UIFont(name: "1stFont", size: 15),
mediumFont: UIFont(name: "1stFont", size: 15)
),
elkErrorType: .type1
)
SID.settings.applyUIPreferences(preferences: preferences)

Реализовать делегат

Необходимо реализовать делегат SIDTableViewHeightDelegate, который будет обновлять высоту ячейки в зависимости от содержимого и SIDAnalyticEventHandler для сбора аналитики

Пример:

final class PCViewController: UIViewController, SIDTableViewHeightDelegate, SIDAnalyticEventHandler {

private var personalCabinetManager = SIDPersonalCabinetManager()
private var tableView: UITableView?

func updateHeight() {
tableView?.beginUpdates()
tableView?.endUpdates()
}

func handleOpeningEvent(url: String) {
// Обработка аналитического события
}
private func personalCabinetCell() -> UITableViewCell
let tableCell = UITableViewCell()
tableCell.contentView.addSubview(tableView)
personalCabinetManager.heightDelegate = self
personalCabinetManager.analyticEventHandler = self

return tableCell
}
}

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.