7. Eventos y logs de AKS
7.1 Eventos de pantalla automáticos
Si tu Activity sobrescribe setScreenNameAndId() (devolviendo 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 extienda AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity:
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")Esta llamada crea y registra un evento con el nombre e_{screenId}_{prefix}_{name} en Firebase Analytics (y en el log de depuración), utilizando el ID de pantalla de setScreenNameAndId().
sendAKSEvent es solo un método auxiliar: equivale a las siguientes líneas, que puedes llamar directamente desde un lugar donde no esté disponible (un Fragment, ViewModel, Composable o una Activity que no extienda ninguna de las Activities base de AKS):
AKSLogManager.log(
PlatformContext(this),
AKSEventCreator.createEvent(screenId, eventType, name)
)Aquí, screenId es simplemente el Int que 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 eventos fuera del ámbito de la pantalla de una Activity (servicios, ViewModels, repositorios, etc.), utiliza AppsKitSDKLogManager, un wrapper que funciona con un Context estándar:
// 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 los logs de depuración
Filtra Logcat por:
PTB_LOG— logs generales del SDKPTB_LOG_ADS— ciclo de vida de la carga y visualización de anunciosPTB_LOG_ANALYTICS— eventos enviados a Firebase/MMPs