Apps Kit SDK logoApps Kit SDK
개발자 문서 · 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로 전송되는 이벤트