Phản hồi kết quả mua hàng

Khi quá trình 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 phản hồi. Ứng dụng có thể đóng paywall, giữ nguyên để người dùng thử lại, hoặc mở flow thứ hai để xác nhận giao dịch thành cô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

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.

Post-purchase flow in the builder with a Thank you screen, the Start button selected, and its On Tap trigger set to the Close Flow action

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 flow hậu mua hàng vào placement riêng của nó

Để lấy flow hậu mua hàng từ ứng dụng của bạn, hãy gán nó vào một placement riêng. Placement của paywall không thể phục vụ flow đó — mỗi placement chỉ phục vụ một flow cho mỗi đối tượng.

  1. Xuất bản flow.
  2. Tạo một flow placement. Lưu ý Placement ID — ứng dụng của bạn sử dụng nó để lấy flow.
  3. Gán flow hậu mua hàng 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.
Note

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 mua hàng

Để mở flow sau mua hàng mà không phải chờ, hãy tải nó cùng lúc với paywall thay vì bên trong handler. SDK sẽ tải trước và lưu cache hình ảnh.

Để làm nóng cache cho nhiều placement trong một lần gọi, hãy dùng preloadFlows (SDK 4.1+).

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