7. Eventos e logs do AKS
7.1 Eventos automáticos de tela
Se a sua Activity sobrescrever setScreenNameAndId() (retornando um Pair<screenId, screenName>), a Activity base dispara automaticamente um evento SCREEN em onCreate() — você não precisa fazer nenhuma chamada para isso.
7.2 Eventos manuais dentro de uma Activity
Dentro de qualquer Activity que estenda AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity:
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")Essa chamada cria e registra um evento chamado e_{screenId}_{prefix}_{name} no Firebase Analytics (e no log de depuração), usando o ID da tela obtido de setScreenNameAndId().
sendAKSEvent é apenas um wrapper de conveniência — ele executa as linhas abaixo, que você pode chamar diretamente em locais onde esse método não está disponível (um Fragment, ViewModel, Composable ou uma Activity comum que não estenda uma das Activities base do AKS):
AKSLogManager.log(
PlatformContext(this),
AKSEventCreator.createEvent(screenId, eventType, name)
)Aqui, screenId é simplesmente o Int que você obteria de setScreenNameAndId().first — gerencie e passe esse valor por conta própria se não estiver dentro de uma Activity base do AKS.
AppsKitSDKEventType e seus prefixos para nomes de eventos do Firebase:
| Constante do enum | Prefixo |
|---|---|
SCREEN |
SCR |
BUTTON |
BTN |
STATUS |
STS |
ITEM |
ITM |
LIST |
LST |
ICON |
ICO |
DIALOG_BTN |
DLG_BTN |
ACTION |
ACT |
TAB |
TAB |
DIALOG |
DLG |
O Firebase Analytics limita os nomes de eventos a 40 caracteres, então mantenha name curto — especialmente para eventos ITEM/LIST, que acrescentam um índice/título ao nome.
7.3 Logs e eventos de uso geral
Para eventos fora do escopo de tela de uma Activity (serviços, ViewModels, repositórios etc.), use o wrapper AppsKitSDKLogManager, que aceita um Context comum:
// 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 Tags de logs de depuração
Filtre o Logcat por:
PTB_LOG— logs gerais do SDKPTB_LOG_ADS— ciclo de vida de carregamento/exibição de anúnciosPTB_LOG_ANALYTICS— eventos enviados ao Firebase/MMPs