Hiển thị flow ở chế độ Observer - Unity
Nếu bạn sử dụng chế độ Observer, bạn sẽ tự chịu trách nhiệm xử lý logic mua hàng của mình. Nhưng bạn có thể ủy quyền giao diện paywall cho Flow & Paywall Builder.
Thiết kế màn hình trong builder, và SDK của Adapty sẽ render nó natively. Cập nhật nội dung, bố cục và giá cả bất cứ lúc nào bạn muốn, mà không cần phát hành lại ứng dụng.
Hướng dẫn này trình bày cách hiển thị một flow và xử lý các callback mua hàng. Nếu Adapty xử lý mua hàng thay cho bạn, hãy xem Hiển thị flow & paywall.
Trước khi bắt đầu
Bạn cần:
- Adapty Unity SDK 4.1 trở lên: Các phiên bản cũ hơn không thể render flow. Để chuyển đổi ứng dụng hiện có, xem hướng dẫn migration.
SetObserverMode(true)được gọi trên configuration builder: Xem hướng dẫn cài đặt Unity SDK.- Tích hợp cửa hàng ban đầu: Thiết lập Adapty với App Store và với Google Play.
- Một flow đã xuất bản với các sản phẩm: Xây dựng trong Flow & Paywall Builder và gán sản phẩm vào đó.
- Một placement cho flow: Tạo một placement và gán flow của bạn vào đó.
- Flow đã được tải trong ứng dụng của bạn: Lấy flow và cấu hình của nó trước khi hiển thị.
Triển khai
Ở chế độ Observer, SDK không thực hiện mua hàng thay bạn. Khi người dùng nhấn nút mua hoặc khôi phục trong một flow do Adapty hiển thị, SDK sẽ gọi IAdaptyUIObserverModeResolver của bạn — hãy thực hiện việc mua hoặc khôi phục bằng code của chính bạn ở đó.
-
Triển khai interface
IAdaptyUIObserverModeResolver:using System; using AdaptySDK; public class MyObserverModeResolver : IAdaptyUIObserverModeResolver { public void FlowViewDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, Action onStartPurchase, Action onFinishPurchase ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, // then report the transaction to Adapty and call: onFinishPurchase(); // the view hides the loading indicator } public void FlowViewDidInitiateRestore( AdaptyUIFlowView view, Action onStartRestore, Action onFinishRestore ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
FlowViewDidInitiatePurchase thông báo rằng người dùng đã bắt đầu thực hiện một giao dịch mua, còn FlowViewDidInitiateRestore — rằng người dùng đã bắt đầu khôi phục. Hãy kích hoạt flow mua hàng hoặc khôi phục tùy chỉnh của bạn để phản hồi.
Ngoài ra, hãy nhớ gọi các callback sau để thông báo cho AdaptyUI về quá trình mua hàng hoặc khôi phục. Điều này cần thiết để flow hoạt động đúng, chẳng hạn như hiển thị loader, v.v.:
| Callback | Description |
|---|---|
| onStartPurchase() | Callback cần được gọi để thông báo cho AdaptyUI rằng quá trình mua hàng đã bắt đầu. |
| onFinishPurchase() | Callback cần được gọi để thông báo cho AdaptyUI rằng quá trình mua hàng đã hoàn tất. |
| onStartRestore() | Callback cần được gọi để thông báo cho AdaptyUI rằng quá trình khôi phục đã bắt đầu. |
| onFinishRestore() | Callback cần được gọi để thông báo cho AdaptyUI rằng quá trình khôi phục đã hoàn tất. |
Flow sẽ vẫn mở trong khi code của bạn chạy — hãy tự đóng nó lại sau khi mua hàng hoặc khôi phục thành công.
-
Đăng ký resolver trước khi hiển thị bất kỳ màn hình nào:
Adapty.SetObserverModeResolver(new MyObserverModeResolver());Nếu không có resolver được đăng ký, flow view không có cách nào chuyển giao giao dịch mua cho code của bạn, và sẽ không có gì xảy ra khi người dùng nhấn nút mua hàng.
-
Tạo và hiển thị flow view như bình thường: lấy flow và tạo view của nó, sau đó hiển thị nó. Không cần thêm tham số nào — sau khi resolver được đăng ký, mọi flow do Adapty render đều chuyển hướng các giao dịch mua và khôi phục qua đó.
Đừng quên báo cáo giao dịch và liên kết nó với paywall. Nếu không, Adapty sẽ không nhận ra giao dịch và sẽ không xác định được paywall nguồn của giao dịch mua.