Hiển thị flow ở chế độ Observer trong Android SDK
Nếu bạn sử dụng chế độ Observer, bạn tự chịu trách nhiệm cho 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à Adapty SDK sẽ render nó trực tiếp trên thiết bị. Cập nhật nội dung, bố cục và giá cả bất kỳ lúc nào mà không cần phát hành lại app. Khi người dùng nhấn nút mua hàng, SDK sẽ gọi code của bạn để hoàn tất giao dịch.
Hướng dẫn này trình bày cách hiển thị màn hình đó và xử lý lệnh gọi mua hàng. Nếu Adapty hoàn tất giao dịch thay cho bạn, hãy xem Hiển thị flow & paywall.
Trước khi bắt đầu
Bạn cần:
- Adapty Android SDK v4 trở lên: Các phiên bản cũ hơn không thể render flow. Để chuyển từ v3, xem hướng dẫn migration.
observerModeđặt thànhtrue: Xem hướng dẫn cài đặt Android SDK.- Tích hợp cửa hàng ban đầu: Thiết lập Adapty với Google Play.
- Một flow đã xuất bản với 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: Lấy flow và cấu hình của nó trước khi hiển thị.
Triển khai
- Triển khai
AdaptyUiObserverModeHandler.
Sự kiện onPurchaseInitiated sẽ thông báo cho bạn biết người dùng đã khởi tạo một giao dịch mua. Bạn có thể kích hoạt flow mua hàng tùy chỉnh của mình trong callback này:
Để xử lý việc khôi phục trong Observer mode, hãy override getRestoreHandler(). Mặc định nó trả về null, tức là sử dụng flow Adapty.restorePurchases() tích hợp sẵn của Adapty. Để cung cấp implementation khôi phục của riêng bạn:
Hãy nhớ gọi các callback sau để thông báo cho AdaptyUI biết 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:
| Callback | Mô tả |
|---|---|
| onStartPurchase() | Callback này cần được gọi để thông báo cho AdaptyUI rằng quá trình mua đã bắt đầu. |
| onFinishPurchase() | Callback này cần được gọi để thông báo cho AdaptyUI rằng quá trình mua đã hoàn tất. |
| onStartRestore() | Tùy chọn. Callback này có thể được gọi để thông báo cho AdaptyUI rằng quá trình khôi phục đã bắt đầu. |
| onFinishRestore() | Tùy chọn. Callback này có thể được gọi để thông báo cho AdaptyUI rằng quá trình khôi phục đã hoàn tất. |
- Để hiển thị flow trực quan trên màn hình thiết bị, bạn cần cấu hình nó trước.
Các tham số yêu cầu:
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
| flowConfiguration | bắt buộc | Cung cấp một đối tượng AdaptyUI.FlowConfiguration chứa thông tin hiển thị của flow. Sử dụng phương thức AdaptyUI.getFlowConfiguration(flow) để tải nó. Tham khảo chủ đề Fetch the view configuration để biết thêm chi tiết. |
| products | tùy chọn | Cung cấp một mảng AdaptyPaywallProduct để tối ưu hóa thời điểm hiển thị sản phẩm trên màn hình. Nếu truyền null, AdaptyUI sẽ tự động tải các sản phẩm cần thiết. |
| eventListener | tùy chọn | Cung cấp một AdaptyFlowEventListener để theo dõi các sự kiện của flow. Nên kế thừa AdaptyFlowDefaultEventListener để dễ sử dụng hơn. Tham khảo chủ đề Handle flow & paywall events để biết thêm chi tiết. |
| insets | tùy chọn | Insets là các khoảng trống xung quanh flow giúp các phần tử có thể nhấn không bị ẩn phía sau thanh hệ thống. Mặc định: Unspecified, cho phép Adapty tự động điều chỉnh insets. Xem Change flow insets. |
| customAssets | tùy chọn | Truyền một đối tượng AdaptyCustomAssets để thay thế hình ảnh và video trong flow của bạn ở runtime. Tham khảo Customize assets để biết thêm chi tiết. |
| tagResolver | tùy chọn | Sử dụng AdaptyUiTagResolver để xử lý các thẻ tùy chỉnh trong văn bản của flow. Resolver này nhận tham số là thẻ và chuyển đổi nó thành chuỗi tương ứng. |
| observerModeHandler | bắt buộc với Observer mode | AdaptyUiObserverModeHandler mà bạn đã triển khai ở bước trước. |
Đừng quên liên kết paywall với giao dịch mua hàng. Nếu không, Adapty sẽ không xác định được nguồn flow của giao dịch.