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

Thứ tá»± gá»i trong React Native 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 nó resolve, 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 #2002 notActivated.

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() tại thá»i Ä‘iểm đó. Äừng gá»i các phương thức liên quan đến hành động cá»§a ngưá»i dùng cho đến khi identify resolve. Các lệnh gá»i chạy Ä‘ua vá»›i nó hoặc thất bại vá»›i lá»—i #3006 profileWasChanged, hoặc tác động lên hồ sÆ¡ ngưá»i dùng ẩn danh được tạo lúc 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 định. 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 hồ sÆ¡ ngưá»i dùng ẩn danh tạm thá»i 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 thêm chi tiết vá» AppsFlyer, xem AppsFlyer.

Thứ tự đúng

Quy 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ó dùng MMP hoặc analytics SDK hay không.

  • Bước 2 và 5: Bắt buá»™c cho 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ỉ bắt buá»™c nếu bạn tích hợp MMP hoặc analytics SDK (AppsFlyer, Adjust, Branch, PostHog).
  • Bước 4: Chỉ bắt buá»™c 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 lúc khởi chạy ứng dụng, hãy truyá»n trá»±c tiếp vào activate() (bước 2a). Cách này không bao giá» tạo hồ sÆ¡ ngưá»i dùng ẩn danh, nên bước 4 là không cần thiết.

BướcLệnh gá»iThá»i Ä‘iểmGhi chú
1Khởi tạo MMP hoặc analytics SDK 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('YOUR_PUBLIC_SDK_KEY', { customerUserId: 'YOUR_USER_ID' })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('YOUR_PUBLIC_SDK_KEY') 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 hồ sÆ¡ ngưá»i dùng ẩn danh.
3adapty.updateAttribution(data, source, networkUserId) cho từng MMPSau bước 2, trước bất kỳ lệnh gá»i hành động ngưá»i dùng nàoBắt buá»™c để MMP ID được gán vào đúng hồ sÆ¡ ngưá»i dùng.
4await adapty.identify('YOUR_USER_ID')Sau bước 3 (hoặc bước 2 nếu không có MMP), trước bước 5 — chỉ trên đưá»ng dẫn 2b vá»›i xác thá»±cLuôn dùng await. Các lệnh gá»i đồng thá»i trong identify sẽ gây ra #3006 profileWasChanged.
5getPaywall, 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 gây ra 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á» sai đối tượng.

Cài đặ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 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 trá»±c tiếp vào activate(). 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 theo từng web checkout, xem:

ÿÿÿÿ