7. AKS Olayları ve Logları
7.1 Otomatik ekran olayları
Activity'niz setScreenNameAndId() metodunu geçersiz kılıyorsa (Pair<screenId, screenName> döndürerek), temel Activity sınıfı onCreate() içinde otomatik olarak bir SCREEN olayı tetikler — bunun için ayrıca bir çağrı yapmanız gerekmez.
7.2 Activity içinden manuel olay gönderimi
AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity sınıflarından türeyen herhangi bir Activity içinden:
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")Bu çağrı, setScreenNameAndId() metodundan alınan ekran kimliğini kullanarak e_{screenId}_{prefix}_{name} adlı bir olay oluşturur ve Firebase Analytics'e (ve hata ayıklama loguna) kaydeder.
sendAKSEvent yalnızca kullanımı kolaylaştıran bir sarmalayıcıdır — aşağıdaki satırları çalıştırır. Bu metodun kullanılamadığı bir yerden (Fragment, ViewModel, Composable veya AKS temel Activity sınıflarından türemeyen normal bir Activity) doğrudan bu kodu çağırabilirsiniz:
AKSLogManager.log(
PlatformContext(this),
AKSEventCreator.createEvent(screenId, eventType, name)
)Buradaki screenId, normalde setScreenNameAndId().first ile alacağınız Int değeridir — AKS temel Activity sınıflarından birinin içinde değilseniz bu değeri kendiniz takip edin ve iletin.
AppsKitSDKEventType değerleri ve Firebase olay adı önekleri:
| Enum sabiti | Önek |
|---|---|
SCREEN |
SCR |
BUTTON |
BTN |
STATUS |
STS |
ITEM |
ITM |
LIST |
LST |
ICON |
ICO |
DIALOG_BTN |
DLG_BTN |
ACTION |
ACT |
TAB |
TAB |
DIALOG |
DLG |
Firebase Analytics, olay adlarını 40 karakterle sınırlar. Bu nedenle name değerini kısa tutun — özellikle ada bir indeks/başlık ekleyen ITEM/LIST olaylarında.
7.3 Genel amaçlı loglama ve olaylar
Bir Activity'nin ekran kapsamı dışındaki olaylar (servisler, ViewModel'ler, repository'ler vb.) için standart Context kullanan AppsKitSDKLogManager sarmalayıcısını kullanın:
// 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 Hata ayıklama log etiketleri
Logcat'i şu etiketlere göre filtreleyin:
PTB_LOG— genel SDK loglarıPTB_LOG_ADS— reklam yükleme/gösterme yaşam döngüsüPTB_LOG_ANALYTICS— Firebase/MMP'lere gönderilen olaylar