Apps Kit SDK logoApps Kit SDK
Документация · AppsKitSDK (AKS) — руководство по интеграции для Android

7. События и логи AKS

7.1 Автоматические события экрана

Если ваша Activity переопределяет setScreenNameAndId() (возвращая Pair<screenId, screenName>), базовая Activity автоматически отправляет событие SCREEN в onCreate() — самостоятельно вызывать что-либо для этого не нужно.

7.2 Отправка событий вручную из Activity

Внутри любой Activity, наследующей от AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity:

kotlin
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")

Этот вызов создает и записывает событие с именем e_{screenId}_{prefix}_{name} в Firebase Analytics (и в отладочный лог), используя идентификатор экрана из setScreenNameAndId().

sendAKSEvent — это лишь вспомогательная обертка над приведенным ниже кодом. Его можно вызывать напрямую там, где эта обертка недоступна: во Fragment, ViewModel, Composable или обычной Activity, которая не наследует от одной из базовых Activity AKS:

kotlin
AKSLogManager.log(
    PlatformContext(this),
    AKSEventCreator.createEvent(screenId, eventType, name)
)

Здесь screenId — это значение типа Int, которое в базовой Activity можно получить через setScreenNameAndId().first. Если вы работаете вне базовой Activity AKS, храните и передавайте его самостоятельно.

Значения AppsKitSDKEventType и соответствующие префиксы имен событий Firebase:

Константа перечисления Префикс
SCREEN SCR
BUTTON BTN
STATUS STS
ITEM ITM
LIST LST
ICON ICO
DIALOG_BTN DLG_BTN
ACTION ACT
TAB TAB
DIALOG DLG

Firebase Analytics ограничивает длину имени события 40 символами, поэтому используйте короткое значение name — особенно для событий ITEM/LIST, у которых к имени добавляется индекс или заголовок.

7.3 Логирование и события общего назначения

Для событий, не привязанных к экрану Activity (в сервисах, ViewModel, репозиториях и т. д.), используйте обертку AppsKitSDKLogManager, работающую с обычным Context:

kotlin
// Free-form debug log (tagged PTB_LOG in Logcat)
AppsKitSDKLogManager.log(AppsKitSDKLogType.INFO, "Sync finished")

// Fire a named Firebase event with parameters, from anywhere
AppsKitSDKLogManager.sendEvent("custom_event_name", mapOf("key" to "value"))

// Purchase / subscription events
AppsKitSDKLogManager.sendPurchaseEvent(
    context = this,
    purchaseType = PurchaseType.SUBSCRIPTION, // or PurchaseType.IN_APP
    productId = "premium_monthly",
    price = 4.99,
    currency = "USD",
    receiptId = receipt,
    uniqueTransactionId = transactionId,
    startDate = startDateIso,
    endDate = endDateIso
)

// SDK build/version banner in Logcat
AppsKitSDKLogManager.logAarVersion()

AppsKitSDKLogType: INFO, ERROR, VERBOSE, WARNING, DESCRIPTION.

7.4 Теги отладочных логов

Фильтруйте Logcat по тегам:

  • PTB_LOG — общие логи SDK
  • PTB_LOG_ADS — жизненный цикл загрузки и показа рекламы
  • PTB_LOG_ANALYTICS — события, отправленные в Firebase и MMP