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

Android SDK

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

ELKContainer — Composable-компонент для отображения динамического контента ЕЛК (ELK) на основе параметров. Реализует гибкую систему управления контентом через Jetpack Compose.

Примеры использования

Базовый контейнер

val parameters = remember {
mutableStateOf(ELKContainerParameters())
}
ELKContainer(
modifier = Modifier.fillMaxWidth(),
activity = { activity },
parameters = parameters.value,
containerEvents = { event ->
when(event) {
is ELKEvents.ClickELK -> handleWidgetClick(event.widgetName)
is ELKEvents.WidgetErrorELK -> showNetworkError(event.httpStatusCode, event.partnerErrorCode)
}
}
)

Специализированный контейнер

  val offerParams = remember {
mutableStateOf(ELKContainerParameters(
containerName = "offer",
containerVersion = 3,
dimensions = SIDDimensionsELK(
elkHorizontalPadding = 16,
elkMinimalLoaderContainerHeight = 100
)
))
}

ELKContainer(
modifier = Modifier.fillMaxWidth(),
activity = { activity },
parameters = offerParams.value
)

Логика загрузки

Формирование URL:

https://адрес.ру/[clientID]_[containerName]_v[containerVersion].json

*Если containerName = null → игнорируется в URL *Если containerVersion = null → игнорируется в URL *Имя контейнера длиннее 36 символов автоматически обрезается

Важно! *Необходимо установить userID через SID.Settings.setMainSettings(userID = "...") *clientID должен быть задан в SID.Settings.setMainSettings(clientID = "...")

public fun ELKContainer(
modifier: Modifier = Modifier,
activity: () -> FragmentActivity,
parameters: ELKContainerParameters = ELKContainerParameters(),
containerEvents: (ELKEvents) -> Unit = EMPTY_LAMBDA_ANY
)

ELKContainerParameters

ПараметрОбязательностьТип данныхОписаниеДиапазон / ОграниченияПример
containerName0–1StringНаименование необходимого контейнераНе более 36 символов
  • "" - контейнер под виджеты ЕЛК
  • "offer" — персональные предложения
  • "subscription" — подписки
containerVersion0–1IntВерсия контейнераот -2147483648 до 2147483647
  • не указывать, если версия = 1
dimensions0–1SIDDimensionsELKОбъект для хранения и управления размерностями элементов интерфейса SDK
public class ELKContainerParameters(
public val containerName: String? = null,
public val containerVersion: Int? = null,
public val dimensions: SIDDimensionsELK = SIDDimensionsELK(),
)

SIDDimensionsELK

ПараметрОбязательностьТип данныхОписание
elkHorizontalPadding0–1StringГоризонтальный отступ внутри контейнеров. Используется для общего форматирования содержимого.
elkSpaceUserInfoMin0–1IntОтступы внутри компонента UserInfoMini. Определяет внутреннее пространство между элементами.
elkMinimalLoaderContainerHeight0–1IntМинимальная высота контейнера лоадера. Используется для корректного отображения статических загрузок (не может быть меньше 40).
public class SIDDimensionsELK(
public val elkHorizontalPadding: Int? = null,
public val elkSpaceUserInfoMini: Int? = null,
public val elkMinimalLoaderContainerHeight: Int? = null,
)

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

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

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