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

Thứ tá»± gá»i trong Capacitor 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. Má»i lệnh gá»i đượ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 liên quan đến 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ó sẽ 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, các 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) Ä‘á»u 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 má»™t 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ự 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à việc bạn có sá»­ dụng MMP hay analytics SDK hay không.

  • Bước 2 và 5: Bắt buá»™c vá»›i má»i ứng dụng. Khởi động 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 ứng dụng khởi động, hãy truyá»n nó trá»±c tiếp vào activate() (bước 2a). Cách này sẽ không tạo hồ sÆ¡ ngưá»i dùng ẩn danh, nên bước 4 là không cần thiết. | Bước | Gá»i hàm | Thá»i Ä‘iểm | Ghi chú | |------|---------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------| | 1 | Khởi tạo MMP hoặc analytics SDK cá»§a bạn (AppsFlyer, Adjust, PostHog, Branch) | Khi khởi động ứng dụng, đầu tiên | Chá» callback UID cá»§a MMP, ví dụ getAppsFlyerUID. | | 2a | adapty.activate({ apiKey: '...', params: { customerUserId: '...' } }) | Khi khởi động ứng dụng, sau bước 1, nếu bạn đã có customer user ID | Khuyến nghị. Không tạo hồ sÆ¡ ngưá»i dùng ẩn danh nào cả. | | 2b | adapty.activate({ apiKey: '...' }) không có customerUserId | Khi 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 để ID MMP gắn đúng vào hồ sÆ¡ ngưá»i dùng. | | 4 | await adapty.identify({ customerUserId: '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 path 2b có xác thá»±c | Luôn dùng await. Các lệnh gá»i đồng thá»i trong identify sẽ sinh ra lá»—i #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ẽ khiến ngưá»i dùng quay lại mất quyá»n truy cập premium, thiếu appsflyer_id trên hồ sÆ¡ ngưá»i dùng, và paywall được trả vá» không đúng đố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) rồi sau đó cài đặt ứng dụng native, lần đầu tiên thiết bị gá»i activate() sẽ tạo ra má»™t hồ sÆ¡ ngưá»i dùng ẩn danh má»›i. Hồ sÆ¡ này không được liên kết vá»›i hồ sÆ¡ ngưá»i dùng trên web. Nếu bạn có thể xác định customer user ID trước khi ứng dụng khởi chạy (từ flow 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({ customerUserId: 'YOUR_USER_ID' }) rồi gá»i restorePurchases.

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

ÿÿÿÿ