Apps Kit SDK logoApps Kit SDK
Tài liệu · AppsKitSDK (AKS) — Hướng dẫn tích hợp Android

7. Sự kiện và log AKS

7.1 Sự kiện màn hình tự động

Nếu Activity của bạn ghi đè setScreenNameAndId() (trả về một Pair<screenId, screenName>), Activity cơ sở sẽ tự động gửi sự kiện SCREEN trong onCreate() — bạn không cần tự gọi thêm hàm nào.

7.2 Gửi sự kiện thủ công từ Activity

Từ bên trong bất kỳ Activity nào kế thừa AppsKitSDKBaseActivity / AppsKitSDKBaseComponentActivity:

kotlin
sendAKSEvent(AppsKitSDKEventType.BUTTON, "SaveClicked")

Lệnh này tạo và ghi nhận sự kiện có tên e_{screenId}_{prefix}_{name} vào Firebase Analytics (đồng thời ghi vào log gỡ lỗi), sử dụng ID màn hình từ setScreenNameAndId().

sendAKSEvent chỉ là một hàm bao tiện ích — tương đương với các dòng bên dưới. Bạn có thể gọi trực tiếp đoạn mã này ở những nơi không có sẵn hàm đó (Fragment, ViewModel, Composable hoặc Activity thông thường không kế thừa một trong các Activity cơ sở của AKS):

kotlin
AKSLogManager.log(
    PlatformContext(this),
    AKSEventCreator.createEvent(screenId, eventType, name)
)

screenId ở đây chính là giá trị Int mà bạn thường lấy từ setScreenNameAndId().first — hãy tự quản lý/truyền giá trị này nếu bạn không ở trong Activity cơ sở của AKS.

AppsKitSDKEventType và tiền tố tương ứng trong tên sự kiện Firebase:

Hằng enum Tiền tố
SCREEN SCR
BUTTON BTN
STATUS STS
ITEM ITM
LIST LST
ICON ICO
DIALOG_BTN DLG_BTN
ACTION ACT
TAB TAB
DIALOG DLG

Firebase Analytics giới hạn tên sự kiện ở mức 40 ký tự, vì vậy hãy giữ name ngắn gọn — đặc biệt với các sự kiện ITEM/LIST, vì chúng nối thêm chỉ mục/tiêu đề vào tên.

7.3 Ghi log và gửi sự kiện dùng chung

Đối với các sự kiện nằm ngoài phạm vi màn hình của Activity (service, ViewModel, repository, v.v.), hãy dùng lớp bao AppsKitSDKLogManager với Context thông thường:

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 Thẻ log gỡ lỗi

Lọc Logcat theo các thẻ:

  • PTB_LOG — log chung của SDK
  • PTB_LOG_ADS — vòng đời tải/hiển thị quảng cáo
  • PTB_LOG_ANALYTICS — các sự kiện được gửi đến Firebase/MMP