ÿÿ Thứ tá»± gá»i Kotlin Multiplatform SDK | Tài liệu Adapty

Thứ tá»± gá»i trong Kotlin Multiplatform SDK

Adapty.activate() phải hoàn thành trước khi bạn gá»i bất kỳ phương thức Adapty SDK nào khác. Cho đến khi nó hoàn tất, SDK chưa có trạng thái. Bất kỳ lệnh gá»i nào được thá»±c hiện trước hoặc song song vá»›i activate() Ä‘á»u sẽ thất bại vá»›i lá»—i kích hoạt. Xem Xá»­ lý lá»—i trong Kotlin Multiplatform SDK.

Nếu ứng dụng cá»§a bạn xác thá»±c ngưá»i dùng và bạn thu thập customer user ID sau khi khởi chạy, hãy gá»i Adapty.identify() ngay tại thá»i Ä‘iểm đó. Äừng gá»i các phương thức liên quan đến hành động ngưá»i dùng cho đến khi identify hoàn tất. Các lệnh gá»i chạy đồng thá»i vá»›i nó có thể trả vá» lá»—i, hoặc sẽ tác động lên hồ sÆ¡ ngưá»i dùng ẩn danh được tạo khi kích hoạt. Khi Ä‘iá»u này xảy ra, attribution, MMP ID như appsflyer_id, và quyá»n sở hữu cài đặt không phải lúc nào cÅ©ng được chuyển sang hồ sÆ¡ ngưá»i dùng đã xác thá»±c. Nếu ứng dụng cá»§a bạn không xác thá»±c ngưá»i dùng, hãy bá» qua identify và tiếp tục làm việc vá»›i hồ sÆ¡ ngưá»i dùng ẩn danh.

Các SDK MMP và analytics (AppsFlyer, Adjust, Branch, PostHog) tuân theo quy tắc tương tá»±. Hãy khởi tạo chúng trước và chá» callback UID cá»§a chúng trước khi gá»i Adapty.activate. Nếu không, MMP ID sẽ được gắn vào má»™t hồ sÆ¡ ẩn danh tạm thá»i và không phải lúc nào cÅ©ng được chuyển sang hồ sÆ¡ đã xác định. Äể biết chi tiết vá» AppsFlyer, xem AppsFlyer.

Thứ tự thực hiện đúng

Lá»™ trình cá»§a bạn phụ thuá»™c vào hai yếu tố: thá»i Ä‘iểm bạn biết customer user ID, và liệu bạn có sá»­ dụng MMP hoặc analytics SDK hay không.

  • Bước 2 và 5: Bắt buá»™c vá»›i má»i ứng dụng. Kích hoạt SDK, sau đó gá»i các phương thức SDK.
  • Bước 1 và 3: Chỉ cần thiết nếu bạn tích hợp MMP hoặc analytics SDK (AppsFlyer, Adjust, Branch, PostHog).
  • Bước 4: Chỉ cần thiết nếu ứng dụng cá»§a bạn xác thá»±c ngưá»i dùng và thu thập customer user ID sau khi khởi chạy.

Nếu bạn đã có customer user ID ngay khi khởi động ứng dụng, hãy truyá»n nó vào AdaptyConfig.Builder trước khi gá»i activate() (bước 2a). Cách này sẽ không bao giá» tạo hồ sÆ¡ ngưá»i dùng ẩn danh, do đó bước 4 là không cần thiết.

BướcLệnh gá»iKhi nàoGhi chú
1Khởi tạo MMP hoặc analytics SDK (AppsFlyer, Adjust, PostHog, Branch)Khi khởi động ứng dụng, thực hiện đầu tiênChỠcallback UID từ MMP, ví dụ getAppsFlyerUID.
2aAdapty.activate(configuration = AdaptyConfig.Builder("KEY").withCustomerUserId(...).build())Khi khởi động ứng dụng, sau bước 1, nếu bạn đã có customer user IDKhuyến nghị. Sẽ không tạo hồ sÆ¡ ngưá»i dùng ẩn danh.
2bAdapty.activate(configuration = AdaptyConfig.Builder("KEY").build()) không có withCustomerUserIdKhi khởi động ứng dụng, sau bước 1, nếu bạn chưa có customer user ID (hoặc không thu thập)Adapty sẽ tạo hồ sÆ¡ ngưá»i dùng ẩn danh.
3Adapty.setIntegrationIdentifier("appsflyer_id", uid) cho từng MMPSau bước 2, trước bất kỳ lệnh gá»i nào liên quan đến ngưá»i dùngBắt buá»™c để MMP ID được gắn vào đúng hồ sÆ¡ ngưá»i dùng.
4Adapty.identify("YOUR_USER_ID").onSuccess { ... }.onError { ... }Sau bước 3 (hoặc bước 2 nếu không có MMP), trước bước 5 — chỉ áp dụng cho luồng 2b có xác thá»±cChá» onSuccess trước bất kỳ lệnh gá»i nào liên quan đến ngưá»i dùng. Các lệnh gá»i đồng thá»i trong lúc identify có thể gắn vào hồ sÆ¡ ngưá»i dùng ẩn danh.
5getPaywall (getFlow trong SDK v4), getPaywallProducts, restorePurchases, makePurchase, updateAttribution, updateProfileSau bước 4 nếu bạn gá»i identify; ngược lại sau bước 3 (hoặc bước 2 nếu không có MMP)Các lệnh gá»i này cần má»™t hồ sÆ¡ ngưá»i dùng ổn định.

Bá» qua các bước này sẽ khiến ngưá»i dùng cÅ© mất quyá»n truy cập premium, thiếu appsflyer_id trên hồ sÆ¡ ngưá»i dùng, và paywall trả vá» sai đối tượng.

Cài đặt từ web2app và web funnel

Nếu ngưá»i dùng mua hàng qua web checkout (Stripe, Paddle) và sau đó cài đặt ứng dụng native, lần đầu tiên activate() trên thiết bị sẽ tạo má»™t hồ sÆ¡ ngưá»i dùng ẩn danh má»›i. Hồ sÆ¡ ngưá»i dùng này không được liên kết vá»›i hồ sÆ¡ ngưá»i dùng web. Nếu bạn có thể xác định customer user ID trước khi khởi chạy ứng dụng (từ luồng xác thá»±c hoặc install referrer), hãy truyá»n trá»±c tiếp vào AdaptyConfig.Builder. Nếu không, lần mua hàng trên web sẽ không hiển thị trên thiết bị cho đến khi bạn gá»i identify("YOUR_USER_ID") và sau đó gá»i restorePurchases.

Äể biết metadata cần gá»­i vá»›i má»—i web checkout, xem:

ÿÿÿÿ