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 disparará 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")Isso cria e registra um evento chamado e_{screenId}_{prefix}_{name} no Firebase Analytics (e no log de depuração), usando o ID da tela retornado por setScreenNameAndId().
sendAKSEvent é apenas um wrapper de conveniência — ele equivale às linhas abaixo, que você pode chamar diretamente em um local onde esse método não esteja 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 é apenas 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 seu prefixo no nome do evento 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 nos 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 trabalha com 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 log 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