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
| Параметр | Обязательность | Тип данных | Описание | Диапазон / Ограничения | Пример |
|---|---|---|---|---|---|
containerName | 0–1 | String | Наименование необходимого контейнера | Не более 36 символов |
|
containerVersion | 0–1 | Int | Версия контейнера | от -2147483648 до 2147483647 |
|
dimensions | 0–1 | SIDDimensionsELK | Объект для хранения и управления размерностями элементов интерфейса SDK | — | — |
public class ELKContainerParameters(
public val containerName: String? = null,
public val containerVersion: Int? = null,
public val dimensions: SIDDimensionsELK = SIDDimensionsELK(),
)
SIDDimensionsELK
| Параметр | Обязательность | Тип данных | Описание |
|---|---|---|---|
elkHorizontalPadding | 0–1 | String | Горизонтальный отступ внутри контейнеров. Используется для общего форматирования содержимого. |
elkSpaceUserInfoMin | 0–1 | Int | Отступы внутри компонента UserInfoMini. Определяет внутреннее пространство между элементами. |
elkMinimalLoaderContainerHeight | 0–1 | Int | Минимальная высота контейнера лоадера. Используется для корректного отображения статических загрузок (не может быть меньше 40). |
public class SIDDimensionsELK(
public val elkHorizontalPadding: Int? = null,
public val elkSpaceUserInfoMini: Int? = null,
public val elkMinimalLoaderContainerHeight: Int? = null,
)