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

SIDELK

Обновлено 30 января 2026

Класс SIDELK является основным интерфейсом для взаимодействия с ELK SDK. Все методы доступны через статический экземпляр SID.ELK.

Предоставляет методы для:

  • Настройки интерфейса (цвета, шрифты)
  • Добавления пользовательских элементов
  • Обновления данных и виджетов
  • Работы с кэшированными изображениями
ХарактеристикаЗначение
ТипСинглтон
ДоступSID.ELK
СтатусТолько для использования после инициализации ЕЛК

Ограничения и требования

  1. Инициализация обязательна — все методы требуют предварительной инициализации SID-CORE SDK
  2. Поток UI — методы, влияющие на интерфейс, должны вызываться в основном потоке
  3. Обязательные настройки — перед использованием необходимо установить:
    SID.Settings.setMainSettings(
    userID = "user123",
    clientID = "client_456"
    )

Свойства

СвойствоТипОписание
INSTANCESIDELKЕдинственный экземпляр класса (используется внутри SDK)

Методы

setUIMode()

fun setUIMode(uiColorMode: UIColorMode)

Устанавливает цветовой режим интерфейса ЕЛК.

ПараметрОбязательныйТипОписание
uiColorModeДаUIColorModeРежим отображения: LIGHT (светлая), DARK (темная), AUTO (автоматический)

Пример:

SID.ELK.setUIMode(UIColorMode.DARK)

getPictureFromCache() (асинхронная)

suspend fun getPictureFromCache(url: String): Bitmap?

Асинхронно загружает изображение из кэша по URL.

ПараметрОбязательныйТипОписание
urlДаStringURL изображения для загрузки

Пример:

lifecycleScope.launch {
val bitmap = SID.ELK.getPictureFromCache("https://example.com/avatar.jpg")
bitmap?.let { imageView.setImageBitmap(it) }
}

Возвращает: Bitmap — загруженное изображение или null при ошибке

getPictureFromCache() (синхронная с callback)

fun getPictureFromCache(url: String, result: (Bitmap?) -> Unit)

Синхронно загружает изображение из кэша с callback-обработкой.

ПараметрОбязательныйТипОписание
urlДаStringURL изображения для загрузки
resultДа(Bitmap?) -> UnitCallback-функция, принимающая результат загрузки

Пример:

SID.ELK.getPictureFromCache("https://example.com/avatar.jpg") { bitmap ->
bitmap?.let { imageView.setImageBitmap(it) }
}

updateWidgets()

fun updateWidgets()

Обновляет все виджеты ЕЛК, кроме корневого элемента. Вызывайте при изменении данных пользователя или настроек.

Пример:

// После изменения данных профиля
SID.ELK.updateWidgets()

setUIPreferences()

fun setUIPreferences(preferences: SIDPreferencesELK)

Устанавливает настройки интерфейса ЕЛК (цвета, шрифты, тексты).

ПараметрОбязательныйТипОписание
preferencesДаSIDPreferencesELKОбъект с настройками интерфейса ЕЛК

Пример:

val config = SIDPreferencesELK(
themeColor = SIDColorELK(light = Color.BLUE, dark = Color.CYAN),
primaryColor = SIDColorELK(light = Color.GREEN, dark = Color.MAGENTA),
fonts = SIDFontsELK(semiBoldResID = R.font.roboto_semibold)
)
SID.ELK.setUIPreferences(config)

setProfileUrl()

fun setProfileUrl(url: String)

Устанавливает URL эндпоинта профиля пользователя для загрузки данных.

ПараметрОбязательныйТипОписание
urlДаStringАдрес API для загрузки профиля пользователя

Пример:

SID.ELK.setProfileUrl("https://api.example.com/profile")

addCustomElement()

fun <T : Any> addCustomElement(
elementName: String,
filterCondition: (T) -> Boolean,
entityConvertor: (ELKCustomElement<*>) -> T,
shimmer: @Composable (Modifier) -> Unit,
content: @Composable (T, SIDPartnerColors, Modifier, () -> Unit) -> Unit
)

Добавляет пользовательский элемент в интерфейс ЕЛК.

ПараметрОбязательныйТипОписание
elementNameДаStringУникальное имя пользовательского элемента
filterConditionДа(T) -> BooleanФункция-фильтр для определения условий отображения элемента
entityConvertorДа(ELKCustomElement<*>) -> TФункция-конвертер для преобразования данных элемента
shimmerДа@Composable (Modifier) -> UnitComposable-функция для отображения состояния загрузки (шиммер)
contentДа@Composable (T, SIDPartnerColors, Modifier, () -> Unit) -> UnitОсновная Composable-функция для отображения элемента

Пример:

SID.ELK.addCustomElement(
elementName = "PromoCard",
filterCondition = { it.isActive },
entityConvertor = { customElement ->
PromoData(
title = customElement.title ?: "",
imageUrl = customElement.picture
)
},
shimmer = { modifier ->
Box(
modifier = modifier
.fillMaxWidth()
.height(100.dp)
.shimmerEffect()
)
},
content = { data, colors, modifier, onClick ->
Card(
modifier = modifier
.fillMaxWidth()
.clickable { onClick() },
backgroundColor = Color(colors.primaryColor)
) {
Column {
Text(text = data.title)
// ... остальной контент
}
}
}
)

updateBadge()

fun updateBadge()

Обновляет данные и состояние бейджа ЕЛК.

Пример:

// После изменения данных, влияющих на бейдж
SID.ELK.updateBadge()

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

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

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