Khắc phục sự cố mua hàng thử nghiệm

Nếu bạn gặp sự cố giao dịch, trước tiên hãy đảm bảo bạn đã hoàn thành tất cả các bước trong danh sách kiểm tra phát hành. Nếu đã hoàn thành tất cả các bước mà vẫn gặp sự cố, hãy làm theo hướng dẫn dưới đây để giải quyết:

Ứng dụng di động trả về lỗi

Tham khảo danh sách lỗi theo nền tảng của bạn: dành cho iOS, dành cho Android, dành cho React Native, Flutter, và Unity, rồi làm theo khuyến nghị của chúng tôi để khắc phục sự cố.

Giao dịch không xuất hiện trong Event Feed dù ứng dụng không trả về lỗi

Để khắc phục sự cố này, hãy kiểm tra các điểm sau:

  1. Dành cho iOS: Đảm bảo bạn dùng thiết bị thật thay vì máy ảo simulator.
  2. Đảm bảo Bundle ID/Package name của ứng dụng khớp với giá trị trong App settings.
  3. Đảm bảo PUBLIC_SDK_KEY trong ứng dụng khớp với Public SDK key trên Adapty Dashboard: App settings -> tab General -> mục API keys.
  4. Đảm bảo bạn đang dùng tài khoản sandbox — không phải file cấu hình StoreKit cục bộ. Nếu trước đây bạn đã dùng file cấu hình StoreKit cục bộ để kiểm thử, hãy đảm bảo bạn không dùng nó trong bản build hiện tại.

Hồ sơ thử nghiệm không có sự kiện nào

Đây là hành vi bình thường. Một bản ghi hồ sơ người dùng mới sẽ được tự động tạo trong Adapty khi:

  • Người dùng chạy ứng dụng lần đầu tiên
  • Người dùng đăng xuất khỏi ứng dụng

Lý do xảy ra: Tất cả giao dịch và sự kiện đều gắn với hồ sơ người dùng đã tạo ra giao dịch đầu tiên. Điều này giúp toàn bộ lịch sử giao dịch (dùng thử, mua hàng, gia hạn) được liên kết với cùng một hồ sơ.

Những gì bạn sẽ thấy: Các bản ghi hồ sơ người dùng mới (gọi là “hồ sơ không gốc”) có thể xuất hiện mà không có sự kiện nào nhưng vẫn giữ nguyên mức độ truy cập. Bạn có thể thấy sự kiện access_level_updated. Đây là hành vi bình thường.

Khi kiểm thử: Để tránh tạo nhiều hồ sơ, hãy tạo tài khoản thử nghiệm mới (Sandbox Apple ID) mỗi lần bạn cài đặt lại ứng dụng.

Xem thêm chi tiết tại Tạo hồ sơ.

Dưới đây là ví dụ về một hồ sơ không gốc. Lưu ý rằng không có sự kiện nào trong User history nhưng vẫn có mức độ truy cập.

98d0dad-non-original_profile.webp

Giá không phản ánh đúng giá đã đặt trong App Store Connect

Trong cả Sandbox và TestFlight (vốn dùng môi trường sandbox cho in-app purchase), điều quan trọng là xác minh luồng mua hàng hoạt động đúng, thay vì tập trung vào độ chính xác của giá. Cần lưu ý rằng API của Apple đôi khi có thể cung cấp dữ liệu không chính xác, đặc biệt khi các thiết bị hoặc tài khoản được cấu hình với các khu vực khác nhau. Vì giá đến trực tiếp từ Store và backend Adapty không ảnh hưởng đến giá mua hàng theo bất kỳ cách nào, bạn có thể bỏ qua sự không chính xác về giá khi kiểm thử mua hàng qua Adapty.

Do đó, hãy ưu tiên kiểm thử luồng mua hàng thay vì độ chính xác của giá để đảm bảo nó hoạt động đúng như mong đợi.

Thời gian giao dịch trong Event Feed không chính xác

Event Feed sử dụng múi giờ được đặt trong App Settings. Để đồng bộ múi giờ của sự kiện với giờ địa phương của bạn, hãy điều chỉnh Reporting timezone trong App settings -> tab General.

Paywall và sản phẩm mất nhiều thời gian để tải

Sự cố này có thể xảy ra nếu tài khoản thử nghiệm của bạn có lịch sử giao dịch dài. Chúng tôi khuyến nghị tạo tài khoản thử nghiệm mới mỗi lần, như đã nêu trong phần Tạo Tài khoản Thử nghiệm Sandbox (Sandbox Apple ID) trong App Store Connect.

Nếu bạn không thể tạo tài khoản mới, bạn có thể xóa lịch sử giao dịch trên tài khoản hiện tại bằng cách thực hiện các bước sau trên thiết bị iOS:

  1. Mở Settings và nhấn App Store.
  2. Nhấn Sandbox Apple ID của bạn.
  3. Trong cửa sổ popup, chọn Manage.
  4. Trên trang Account Settings, nhấn Clear Purchase History.

Để biết thêm chi tiết, hãy xem tài liệu dành cho nhà phát triển Apple.