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 に送信されたイベント