SIDEvents для AppToken и ELK
Данный класс расширяет возможности SIDEvents из SIDSDK_CORE для возможности подписки на AppTokenEvents и ELKEvents
subscribeForAppTokenEvents
public fun SIDEvents.subscribeForAppTokenEvents()
Подписывает на события, связанные с AppToken для партнеров. Возвращает объекты типа AppTokenEvents, которые содержат информацию о событиях жизненного цикла AppToken.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| owner | Да | LifecycleOwner | Владелец жизненного цикла (Activity, Fragment, ViewModel). При уничтожении владельца подписка автоматически отменяется |
| events | Да | AppTokenEvents -> Unit | Лямбда-функция, принимающая события AppToken для обработки |
Пример использования:
// Подписка на события AppToken
SID.Events.subscribeForAppTokenEvents(owner = this) { appTokenEvent ->
when (appTokenEvent) {
is AppTokenEvents.TokenUpdated -> {
// Событие обновления токена
}
is AppTokenEvents.TokenExpired -> {
// Событие истечения срока действия токена
}
is AppTokenEvents.Error -> {
// Ошибка при работе с AppToken
}
}
}
subscribeForELKEvents
public fun SIDEvents.subscribeForELKEvents()
Подписывает на события ELK (Единая Лента Коммуникаций) для партнеров. Возвращает объекты типа ELKEvents, которые содержат информацию о событиях в виджетах ELK. Поддерживает подписку как на все контейнеры, так и на конкретный контейнер.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| owner | Да | LifecycleOwner | Владелец жизненного цикла (Activity, Fragment, ViewModel) |
| containerName | Нет | String | Название контейнера для подписки. По умолчанию - пустая строка (подписка на все контейнеры) |
| events | Да | ELKEvents -> Unit | Лямбда-функция, принимающая события ELK для обработки |
Пример использования:
SID.Events.subscribeForELKEvents(owner = this) { elkEvent ->
when (elkEvent) {
is ELKEvents.ShowELK -> {
// Показан главный экран ЕЛК
}
is ELKEvents.WidgetErrorELK -> {
// Ошибка конкретного элемента ЕЛК
}
...
}
}
sendElkEvent
public fun SIDEvents.sendElkEvent()
Отправляет кастомные события в аналитику ELK для отслеживания взаимодействия пользователей с виджетами.
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| eventType | Да | ELKEventType | Тип события: показ, закрытие, клик, ошибка |
| widgetType | Да | ELKWidgetType | Тип виджета (пример: userInfo, cardInfo, bonusBalance) |
| widgetName | Нет | String? | Название виджета (примеры: cardInfoPrime, Спасибо, User) |
| status | Нет | String? | Статус подписки по виджетам (примеры: Подключить, Активна, Ожидает оплаты) |
| avatar | Нет | ELKAvatarStatusType | Формат отображения аватарки пользователя. По умолчанию: ELKAvatarStatusType.NOTHING |
Пример использования:
// Отправка события показа виджета
SID.Events.sendElkEvent(
eventType = ELKEventType.SHOW,
widgetType = ELKWidgetType.CARD_INFO,
widgetName = "cardInfoPrime",
status = "Активна",
avatar = ELKAvatarStatusType.AVATAR_WITH_BORDER
)
// Отправка события клика по виджету
SID.Events.sendElkEvent(
eventType = ELKEventType.CLICK,
widgetType = ELKWidgetType.BONUS_BALANCE,
widgetName = "Бонусный баланс",
status = "Активна",
avatar = ELKAvatarStatusType.AVATAR_SHOWN
)
// Отправка события ошибки виджета
SID.Events.sendElkEvent(
eventType = ELKEventType.ERROR,
widgetType = ELKWidgetType.USER_INFO,
widgetName = "User",
avatar = ELKAvatarStatusType.NOTHING
)