Thực hiện mua hàng trong ứng dụng di động với Android SDK

Hiển thị paywall trong ứng dụng di động của bạn là bước thiết yếu để cung cấp cho người dùng quyền truy cập vào nội dung hoặc dịch vụ cao cấp. Tuy nhiên, chỉ riêng việc hiển thị paywall mới tự động hỗ trợ thanh toán khi Adapty tự render màn hình — tức là, một flow, hoặc paywall từ Paywall Builder cũ.

Nếu bạn tự render màn hình bằng code của mình, bạn phải sử dụng một phương thức riêng gọi là .makePurchase() để hoàn tất giao dịch mua và mở khóa nội dung mong muốn. Phương thức này là cổng kết nối để người dùng tương tác với các paywall và thực hiện giao dịch theo ý muốn.

Nếu paywall của bạn có ưu đãi đang hoạt động cho sản phẩm mà người dùng muốn mua, Adapty sẽ tự động áp dụng ưu đãi đó tại thời điểm thanh toán.

Warning

Lưu ý rằng ưu đãi giới thiệu sẽ chỉ được áp dụng tự động nếu Adapty hiển thị màn hình.

Trong các trường hợp khác, bạn cần xác minh tính đủ điều kiện của người dùng cho ưu đãi giới thiệu trên iOS. Bỏ qua bước này có thể khiến ứng dụng bị từ chối khi phát hành. Hơn nữa, điều này có thể dẫn đến việc tính giá đầy đủ cho những người dùng đủ điều kiện nhận ưu đãi giới thiệu.

Hãy đảm bảo bạn đã hoàn thành cấu hình ban đầu mà không bỏ sót bước nào. Nếu không, chúng tôi không thể xác thực các giao dịch mua hàng.

Thực hiện mua hàng

Note

Adapty có render màn hình của bạn không? Đối với paywall dạng flow hoặc Paywall Builder, các giao dịch mua hàng sẽ được xử lý tự động — bạn có thể bỏ qua bước này.

Cần hướng dẫn từng bước? Xem hướng dẫn quickstart để có hướng dẫn triển khai đầy đủ từ đầu đến cuối.

Tham số yêu cầu:

Tham sốBắt buộcMô tả
Productbắt buộcĐối tượng AdaptyPaywallProduct lấy từ paywall.

Tham số phản hồi:

Tham sốMô tả
Profile

Nếu yêu cầu thành công, phản hồi sẽ chứa đối tượng này. Đối tượng AdaptyProfile cung cấp thông tin toàn diện về mức độ truy cập, gói đăng ký và các sản phẩm mua một lần của người dùng trong ứng dụng.

Kiểm tra trạng thái mức độ truy cập để xác định xem người dùng có quyền truy cập cần thiết vào ứng dụng hay không.

Warning

Lưu ý: nếu bạn vẫn đang dùng StoreKit của Apple phiên bản thấp hơn v2.0 và Adapty SDK phiên bản thấp hơn v2.9.0, bạn cần cung cấp Apple App Store shared secret thay thế. Phương thức này hiện đã bị Apple ngừng hỗ trợ.

Thay đổi gói đăng ký khi mua hàng

Khi người dùng chọn gói đăng ký mới thay vì gia hạn gói hiện tại, cách thức hoạt động phụ thuộc vào cửa hàng. Với Google Play, gói đăng ký không được cập nhật tự động. Bạn cần xử lý việc chuyển đổi trong code của ứng dụng như mô tả bên dưới.

Để thay thế gói đăng ký bằng gói khác trên Android, hãy gọi phương thức .makePurchase() với tham số bổ sung:

Warning

Chỉ truyền subscriptionUpdateParams khi người dùng chuyển từ một gói đăng ký đang hoạt động được mua trên cùng tài khoản Google. Đối với giao dịch mua mới, hãy gọi makePurchase mà không có tham số này — việc truyền vào sẽ khiến giao dịch mua thất bại với lỗi CURRENT_SUBSCRIPTION_TO_UPDATE_NOT_FOUND_IN_HISTORY, trong đó thông báo lỗi lại trỏ đến một gói đăng ký không còn hoạt động hoặc một tài khoản Google khác.

Bạn có thể đọc thêm về gói đăng ký và các chế độ thay thế trong tài liệu Google Developer:

Quản lý gói trả trước

Nếu người dùng ứng dụng của bạn có thể mua gói trả trước (ví dụ: mua gói đăng ký không tự gia hạn trong vài tháng), bạn có thể bật giao dịch đang chờ xử lý cho các gói trả trước.