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