7. AKS のイベントとログ
7.1 画面イベントの自動送信
Activity で setScreenNameAndId() をオーバーライドし、Pair<screenId, screenName> を返すようにすると、基底 Activity が onCreate() で自動的に SCREEN イベントを送信します。自分で呼び出す必要はありません。
7.2 Activity 内からの手動イベント送信
AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity を継承する Activity 内では、次のように呼び出せます。
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")この呼び出しは、setScreenNameAndId() から取得した画面 ID を使って e_{screenId}_{prefix}_{name} という名前のイベントを作成し、Firebase Analytics とデバッグログに記録します。
sendAKSEvent は便利なラッパーにすぎず、内部では次のコードを実行します。このラッパーを利用できない場所(Fragment、ViewModel、Composable、または AKS の基底 Activity を継承していない通常の Activity)では、次のコードを直接呼び出します。
AKSLogManager.log(
PlatformContext(this),
AKSEventCreator.createEvent(screenId, eventType, name)
)ここでの screenId は、通常 setScreenNameAndId().first から取得する Int 値です。AKS の基底 Activity 内でない場合は、自分で管理して渡してください。
AppsKitSDKEventType と Firebase イベント名のプレフィックスの対応は次のとおりです。
| 列挙定数 | プレフィックス |
|---|---|
SCREEN |
SCR |
BUTTON |
BTN |
STATUS |
STS |
ITEM |
ITM |
LIST |
LST |
ICON |
ICO |
DIALOG_BTN |
DLG_BTN |
ACTION |
ACT |
TAB |
TAB |
DIALOG |
DLG |
Firebase Analytics のイベント名は最大 40 文字に制限されているため、name は短くしてください。特に ITEM/LIST イベントでは名前にインデックスやタイトルが追加されるため、注意が必要です。
7.3 汎用ログとイベント
Activity の画面スコープ外(サービス、ViewModel、リポジトリなど)のイベントには、通常の Context を使用するラッパー AppsKitSDKLogManager を使います。
// 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 デバッグログのタグ
Logcat は次のタグでフィルタリングできます。
PTB_LOG— SDK の全般的なログPTB_LOG_ADS— 広告の読み込み・表示のライフサイクルPTB_LOG_ANALYTICS— Firebase/MMP に送信されたイベント