Apps Kit SDK logoApps Kit SDK
개발자 문서 · AppsKitSDK (AKS) — Android 연동 가이드

7. AKS 이벤트 및 로그

7.1 자동 화면 이벤트

Activity에서 setScreenNameAndId()를 재정의하여 Pair<screenId, screenName>을 반환하면, 기본 Activity가 onCreate()에서 자동으로 SCREEN 이벤트를 발생시킵니다. 이를 위해 별도로 호출할 메서드는 없습니다.

7.2 Activity 내부에서 수동으로 이벤트 전송

AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity를 상속하는 Activity 내부에서 다음과 같이 호출합니다.

kotlin
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")

이 코드는 setScreenNameAndId()의 화면 ID를 사용하여 e_{screenId}_{prefix}_{name} 형식의 이벤트를 생성하고 Firebase Analytics와 디버그 로그에 기록합니다.

sendAKSEvent는 편의를 위한 래퍼 메서드로, 내부적으로 아래 코드를 실행합니다. 이 메서드를 사용할 수 없는 곳(Fragment, ViewModel, Composable 또는 AKS 기본 Activity를 상속하지 않는 일반 Activity)에서는 아래 코드를 직접 호출하면 됩니다.

kotlin
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를 사용하세요.

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