Apps Kit SDK logoApps Kit SDK
Dokümantasyon · Android Entegrasyonu

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:

kotlin
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:

kotlin
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:

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 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