Phản hồi kết quả mua hàng
Khi một giao dịch mua hàng hoàn tất, Adapty SDK sẽ gọi lại ứng dụng của bạn với kết quả tương ứng. Màn hình sẽ không thay đổi cho đến khi ứng dụng của bạn phản hồi. Ứng dụng có thể đóng paywall, giữ nguyên để thử lại, hoặc mở một flow thứ hai để xác nhận giao dịch mua hàng.
Builder không thể phân nhánh dựa trên kết quả mua hàng: không có trigger nào được kích hoạt khi mua hàng hoàn tất, và không có biến nào mang kết quả đó. Vì vậy, việc chuyển tiếp phải được xử lý trong code của bạn, nơi nhận được kết quả.
Công việc chia thành ba phần:
- Xây dựng flow sau khi mua hàng và gán nó vào placement riêng.
- Trong code ứng dụng, phân nhánh dựa trên kết quả mua hàng.
- Khi thành công, đóng paywall và hiển thị flow sau khi mua hàng.
Trước khi bắt đầu
- Flow yêu cầu Adapty SDK v4.0 trở lên.
- Xây dựng màn hình paywall — ví dụ, làm theo hướng dẫn Tạo màn hình paywall cơ bản.
1. Xây dựng flow sau khi mua hàng
Tạo flow. Flow này chạy sau khi mua hàng nên không cần sản phẩm. Để đưa người dùng trở lại giao diện ứng dụng của bạn, hãy thêm một nút với hành động Close Flow vào màn hình cuối cùng.
Sử dụng Custom Action khi flow có nhiều hơn một hướng đi. Tạo nhiều nút, mỗi nút có action ID riêng, để ứng dụng của bạn có thể phân biệt Set up now với Set up later.
2. Thêm post-purchase flow vào placement riêng của nó
Để tải post-purchase flow từ ứng dụng của bạn, hãy gán nó vào một placement riêng. Placement của flow hiện tại không thể phục vụ flow đó — một placement chỉ phục vụ một flow cho mỗi đối tượng.
- Xuất bản flow.
- Tạo một flow placement. Lưu ý Placement ID — ứng dụng của bạn sử dụng ID này để tải flow.
- Gán post-purchase flow vào placement mới.
3. Xử lý kết quả mua hàng
Ứng dụng của bạn nhận kết quả mua hàng qua hai callback:
- Completion: Giao dịch mua đã kết thúc — thành công, người dùng hủy, hoặc thanh toán đang chờ phê duyệt (ví dụ: chờ xác nhận từ phụ huynh). Đọc kiểu của kết quả để phân biệt ba trường hợp này. Khi thành công, kết quả sẽ chứa
AdaptyProfileđã được cập nhật. - Failure: Một lỗi đã ngăn quá trình mua hàng, và callback mang theo một
AdaptyError— hạn chế thanh toán, sản phẩm không hợp lệ, lỗi mạng, hoặc lỗi xác minh giao dịch.
Tên và chữ ký callback: iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor
Xử lý theo kết quả:
- Nếu thành công, đóng paywall rồi hiển thị flow sau khi mua.
- Nếu hủy, thanh toán đang chờ xử lý, hoặc thất bại, giữ nguyên paywall.
Tính năng khôi phục báo cáo thông qua callback riêng, xử lý cả trường hợp người dùng cài lại ứng dụng hoặc đổi thiết bị. Xác nhận rằng hồ sơ người dùng trả về có mức độ truy cập đang hoạt động, sau đó đóng và hiển thị một flow theo cách tương tự. Hãy trỏ callback đó vào một flow riêng — màn hình cảm ơn người dùng sau khi mua hàng không phù hợp cho trường hợp khôi phục.
4. Tải và hiển thị flow sau khi mua hàng
Để mở flow sau khi mua hàng mà không bị chờ đợi, hãy tải nó song song với paywall thay vì bên trong handler. Nhớ request cả cấu hình UI của nó — đó là lệnh gọi kích hoạt việc cache ảnh của flow trong nền.
Trên iOS và Android, preloadFlows (SDK 4.1+) khởi động trước nhiều placement trong một lần gọi. Hàm này chỉ cache JSON của placement, vì vậy hãy kết hợp với fetch policy ReturnCacheDataElseLoad và vẫn cần yêu cầu cấu hình UI trước.
Lấy flow và paywall: iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor
Hiển thị flow và paywall: iOS | Android | React Native | Flutter | Unity | Kotlin Multiplatform | Capacitor