ÿÿ Thứ Tá»± Gá»i Android SDK | Tài liệu Adapty

Thứ tá»± gá»i trong Android SDK

Adapty.activate() phải hoàn thành trước khi bạn gá»i bất kỳ phương thức nào khác cá»§a Adapty SDK. Cho đến khi 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 thất bại vá»›i lá»—i ADAPTY_NOT_INITIALIZED.

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() vào thá»i Ä‘iểm đó. Không gá»i các phương thức liên quan đến hành động ngưá»i dùng cho đến khi callback hoàn thành cá»§a identify được kích hoạt. Các lệnh gá»i chạy Ä‘ua vá»›i nó sẽ trả vá» lá»—i trong callback, 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 lượt 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 định. Nếu ứng dụng cá»§a bạn không xác thá»±c ngưá»i dùng, 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á»±. 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Æ¡ ngưá»i dùng ẩn danh tồn tại trong thá»i gian ngắn và không phải lúc nào cÅ©ng được chuyển sang hồ sÆ¡ ngưá»i dùng đã xác định. Äể biết chi tiết vá» AppsFlyer, xem AppsFlyer.

Thứ tự đúng

Con đưá»ng thá»±c hiện phụ thuá»™c vào hai yếu tố: khi nào bạn biết customer user ID, và liệu bạn có sá»­ dụng SDK MMP hoặc analytics 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 SDK MMP hoặc analytics (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 khi khởi chạy ứng dụng, hãy truyá»n nó vào AdaptyConfig.Builder trước khi gá»i activate() (bước 2a). Con đưá»ng này không bao giá» tạo hồ sÆ¡ ngưá»i dùng ẩn danh, vì vậy bước 4 là không cần thiết.

BướcLệnh gá»iThá»i Ä‘iểmGhi chú
1Khởi tạo SDK MMP hoặc analytics của bạn (AppsFlyer, Adjust, PostHog, Branch)Khởi chạy ứng dụng, đầu tiênChỠcallback UID của MMP, ví dụ getAppsFlyerUID.
2aAdapty.activate(context, AdaptyConfig.Builder("KEY").withCustomerUserId(...).build())Khởi chạy ứng dụng, sau bước 1, nếu bạn đã có customer user IDKhuyến nghị. Không bao giá» tạo hồ sÆ¡ ngưá»i dùng ẩn danh.
2bAdapty.activate(context, AdaptyConfig.Builder("KEY").build()) không có customerUserIdKhởi chạy ứng dụng, sau bước 1, nếu bạn chưa có customer user ID (hoặc không bao giá» thu thập)Adapty tạo má»™t 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 hành động ngưá»i dùng nàoCần thiết để MMP ID được gán vào đúng hồ sÆ¡ ngưá»i dùng.
4Adapty.identify("YOUR_USER_ID") { error -> ... }Sau bước 3 (hoặc bước 2 nếu không có MMP), trước bước 5 — chỉ trên con đưá»ng 2b có xác thá»±cSá»­ dụng completion callback. Các lệnh gá»i đồng thá»i trong quá trình identify có thể tác động lên hồ sÆ¡ ngưá»i dùng ẩn danh.
5getPaywall, getPaywallProducts, restorePurchases, makePurchase, updateAttribution, updateProfileSau bước 4 nếu bạn gá»i identify; nếu không thì 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ẽ dẫn đến mất quyá»n truy cập premium cho ngưá»i dùng quay lại, thiếu appsflyer_id trên hồ sÆ¡ ngưá»i dùng, và paywall được trả vá» cho sai đối tượng.

Cài đặt Web2app và web-funnel

Nếu ngưá»i dùng mua trên web checkout (Stripe, Paddle) và sau đó cài đặt ứng dụng native, lần activate() đầu tiên 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 nó vào AdaptyConfig.Builder trá»±c tiếp. Nếu không, giao dịch mua 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 đó là restorePurchases.

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

ÿÿÿÿ