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

SIDEvents

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

SIDEvents — модуль для подписки на глобальные события SDK. Позволяет отслеживать события авторизации, изменения состояния токенов и другие важные действия в реальном времени. Использует паттерн Observer для предоставления уведомлений о ключевых событиях жизненного цикла SDK.

Особенности модуля

Назначение

  • Централизованная система событий: Единая точка для подписки на все события SDK
  • Жизненный цикл: Автоматическая отписка при уничтожении LifecycleOwner
  • Типизированные события: Система типов Kotlin для безопасной обработки событий
  • Мультиподписка: Возможность множественных подписок на одни и те же события

Сценарии использования

  1. Отслеживание авторизации: Мониторинг процесса входа, выхода и релогина
  2. Обработка ошибок: Получение уведомлений о сетевых ошибках и проблемах валидации
  3. Мониторинг состояния: Отслеживание изменений в статусе токенов и сессий
  4. Аналитика: Сбор метрик использования SDK для аналитических систем

Доступ к модулю

Модуль доступен через свойство SID.Events:

// Получение экземпляра модуля событий
val eventsModule = SID.Events

Методы

subscribeForAuthEvents

public fun subscribeForAuthEvents()

Подписывает на события авторизации. Возвращает объекты типа AuthEvents, которые содержат информацию о различных этапах процесса аутентификации.

ПараметрОбязательныйТипОписание
ownerДаLifecycleOwnerВладелец жизненного цикла (Activity, Fragment, ViewModel). При уничтожении владельца подписка автоматически отменяется
eventsДа(AuthEvents -> UnitЛямбда-функция, принимающая события авторизации для обработки

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

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// Подписка на события авторизации
SID.Events.subscribeForAuthEvents(owner = this) { authEvent ->
handleAuthEvent(authEvent)
}
}

private fun handleAuthEvent(authEvent: AuthEvents) {
when (authEvent) {
AuthEvents.ReLoginIsLite -> {
// Событие переинициализации ЕЛК
logEvent("ЕЛК переинициализация")
}
is AuthEvents.ReLoginStatus -> {
// Событие прохождения сценария релогина
handleReLoginStatus(authEvent)
}
AuthEvents.ReLoginStatusReject -> {
// Событие отмены сценария релогина
showReLoginCancelled()
}
is AuthEvents.WebViewError -> {
// Ошибка в WebView (поврежденная ссылка или проблемы с открытием)
handleWebViewError(authEvent)
}
AuthEvents.WebAuthReject -> {
// Отмена логина на любом этапе (WebView/CustomTab/Dialog)
showLoginCancelled()
}
}
}
}

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

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

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