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로 전송된 이벤트