Apps Kit SDK logoApps Kit SDK
Documentación · AppsKitSDK (AKS) — Guía de integración para Android

7. Eventos y logs de AKS

7.1 Eventos de pantalla automáticos

Si tu Activity sobrescribe setScreenNameAndId() (y devuelve un Pair<screenId, screenName>), la Activity base envía automáticamente un evento SCREEN en onCreate(); no necesitas realizar ninguna llamada adicional.

7.2 Eventos manuales desde una Activity

Desde cualquier Activity que herede de AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity:

kotlin
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")

Esto crea y registra un evento llamado e_{screenId}_{prefix}_{name} en Firebase Analytics (y en el log de depuración) usando el ID de pantalla de setScreenNameAndId().

sendAKSEvent es solo un método auxiliar: equivale a las siguientes líneas, que puedes llamar directamente desde donde no esté disponible (un Fragment, ViewModel, Composable o una Activity normal que no herede de ninguna de las Activities base de AKS):

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

Aquí, screenId es simplemente el Int que normalmente obtendrías de setScreenNameAndId().first; si no estás dentro de una Activity base de AKS, debes gestionarlo y pasarlo por tu cuenta.

AppsKitSDKEventType y su prefijo para los nombres de eventos de Firebase:

Constante del enum Prefijo
SCREEN SCR
BUTTON BTN
STATUS STS
ITEM ITM
LIST LST
ICON ICO
DIALOG_BTN DLG_BTN
ACTION ACT
TAB TAB
DIALOG DLG

Firebase Analytics limita los nombres de eventos a 40 caracteres, así que usa un name corto, especialmente para los eventos ITEM/LIST, que añaden un índice/título al nombre.

7.3 Logs y eventos de uso general

Para los eventos fuera del ámbito de la pantalla de una Activity (servicios, ViewModels, repositorios, etc.), usa AppsKitSDKLogManager, un wrapper que trabaja con un Context normal:

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 Etiquetas de logs de depuración

Filtra Logcat por:

  • PTB_LOG — logs generales del SDK
  • PTB_LOG_ADS — ciclo de vida de carga y visualización de anuncios
  • PTB_LOG_ANALYTICS — eventos enviados a Firebase/MMPs