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