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

Thứ tá»± gá»i trong Flutter 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ó hoàn tất, SDK không 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() sẽ 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 hành động ngưá»i dùng cho đến khi identify hoàn tất. Các lệnh gá»i chạy song song vá»›i nó có thể thất bại vá»›i #3006 profileWasChanged, hoặc sẽ 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 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, hãy bá» qua identify và tiếp tục làm việc vá»›i hồ sÆ¡ ngưá»i dùng ẩn danh. SDK cá»§a 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ẽ 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Æ¡ đã xác định. Äể biết thêm chi tiết vá» AppsFlyer, xem AppsFlyer.

Thứ tự đúng

Lá»™ trình cá»§a bạn phụ thuá»™c vào hai Ä‘iá»u: thá»i Ä‘iểm bạn biết được customer user ID, và việc 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 động. Nếu bạn đã có customer user ID ngay khi ứng dụng khởi độ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ước | Lệnh gá»i | Thá»i Ä‘iểm | Ghi chú | |------|---------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------| | 1 | Khởi tạo MMP hoặc analytics SDK cá»§a bạn (AppsFlyer, Adjust, PostHog, Branch) | Khởi động ứng dụng, đầu tiên | Chá» callback UID cá»§a MMP, ví dụ getAppsFlyerUID. | | 2a | Adapty().activate(configuration: ...) vá»›i withCustomerUserId được thiết lập trong cấu hình | Khởi động ứng dụng, sau bước 1, nếu bạn đã có customer user ID | Khuyến nghị. Không bao giá» tạo hồ sÆ¡ ngưá»i dùng ẩn danh. | | 2b | Adapty().activate(configuration: ...) không có withCustomerUserId | 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 tạo má»™t hồ sÆ¡ ngưá»i dùng ẩn danh. | | 3 | Adapty().setIntegrationIdentifier(key: ..., value: ...) cho từng MMP | Sau bước 2, trước bất kỳ lệnh gá»i nào do ngưá»i dùng thá»±c hiện | Bắt buá»™c để các ID cá»§a MMP gắn đúng vào hồ sÆ¡ ngưá»i dùng. | | 4 | await Adapty().identify(customerUserId) | Sau bước 3 (hoặc bước 2 nếu không có MMP), trước bước 5 — chỉ trên luồng 2b có xác thá»±c | Luôn dùng await. Các lệnh gá»i đồng thá»i trong quá trình identify sẽ trả vá» #3006 profileWasChanged. | | 5 | getPaywall (getFlow trong SDK v4), getPaywallProducts, restorePurchases, makePurchase, updateAttribution, updateProfile | Sau 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 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Æ¡ ẩn danh má»›i. Hồ sÆ¡ này không được liên kết vá»›i hồ sÆ¡ 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 đó gá»i restorePurchases.

VỠmetadata cần gửi kèm mỗi web checkout, xem:

ÿÿÿÿ