Xử lý lỗi trong Android SDK

Mọi lỗi được trả về bởi SDK đều có dạng AdaptyError.

Bật verbose logs trước khi debug. Hầu hết các AdaptyError đều bọc một lỗi bên dưới từ Play Billing, mạng, hoặc backend. Khi bật verbose logs (Adapty.logLevel = AdaptyLogLevel.VERBOSE — xem Logging), lỗi được bọc đó sẽ được in ra console, thường cho biết nguyên nhân thực sự.

Nếu các giải pháp này không khắc phục được vấn đề của bạn, hãy xem Các vấn đề khác để biết các bước cần thực hiện trước khi liên hệ hỗ trợ, giúp chúng tôi hỗ trợ bạn hiệu quả hơn.

LỗiGiải pháp
UNKNOWNLỗi này cho biết đã xảy ra một lỗi không xác định hoặc không mong đợi.
ITEM_UNAVAILABLELỗi này thường xảy ra trong giai đoạn kiểm thử. Nguyên nhân có thể là các sản phẩm chưa có trên môi trường production, hoặc người dùng không thuộc nhóm Testers trong Google Play.
ADAPTY_NOT_INITIALIZEDAdapty SDK chưa được kích hoạt.
Thường gặp khi màn hình splash hoặc một UI hook sớm gọi các phương thức Adapty trước khi Adapty.activate hoàn tất. Triệu chứng này không ổn định và có thể không tái hiện trên máy ảo vì thời gian thực thi trên thiết bị thật khác nhau. Hãy chờ Adapty.activate hoàn tất trước khi gọi bất kỳ SDK nào khác. Xem Thứ tự gọi trong Android SDK để biết trình tự đầy đủ. Bạn cũng cần cấu hình Adapty SDK đúng cách bằng phương thức Adapty.activate.
PROFILE_WAS_CHANGEDHồ sơ người dùng đã thay đổi trong quá trình thực hiện thao tác.
Điều này xảy ra khi một phương thức được gọi trong khi Adapty.identify vẫn đang chạy — lệnh gọi đang xử lý đó rơi vào một hồ sơ sắp bị thay thế, và SDK từ chối nó. Hãy chờ Adapty.identify hoàn tất trước khi gọi các SDK khác. Xem Thứ tự gọi trong Android SDK.
PRODUCT_NOT_FOUNDLỗi này cho biết sản phẩm được yêu cầu mua không có sẵn trong cửa hàng.
INVALID_JSON

JSON của paywall dự phòng cục bộ không hợp lệ.

Hãy sửa paywall tiếng Anh mặc định trước, sau đó thay thế các paywall cục bộ không hợp lệ. Tham khảo chủ đề Tùy chỉnh paywall bằng Remote Config để biết cách sửa paywall, và Định nghĩa paywall dự phòng cục bộ để biết cách thay thế các paywall cục bộ.

CURRENT_SUBSCRIPTION_TO_UPDATE

_NOT_FOUND_IN_HISTORY

Không tìm thấy gói đăng ký gốc cần thay thế trong danh sách gói đăng ký đang hoạt động.
BILLING_SERVICE_TIMEOUTLỗi này cho biết yêu cầu đã vượt quá thời gian chờ tối đa trước khi Google Play có thể phản hồi. Nguyên nhân có thể là do thao tác được yêu cầu bởi lệnh gọi Play Billing Library bị trễ.
FEATURE_NOT_SUPPORTEDTính năng được yêu cầu không được Play Store hỗ trợ trên thiết bị hiện tại.
BILLING_SERVICE_DISCONNECTEDLỗi này cho biết kết nối của ứng dụng khách đến dịch vụ Google Play Store thông qua BillingClient đã bị ngắt.
BILLING_SERVICE_UNAVAILABLELỗi này cho biết dịch vụ Google Play Billing hiện không khả dụng. Trong hầu hết các trường hợp, điều này có nghĩa là có sự cố kết nối mạng ở đâu đó giữa thiết bị khách và các dịch vụ Google Play Billing.
BILLING_UNAVAILABLE

Lỗi này cho biết đã xảy ra sự cố thanh toán trong quá trình mua hàng. Các nguyên nhân có thể bao gồm:

1. Ứng dụng Play Store trên thiết bị của người dùng bị thiếu hoặc đã lỗi thời.

2. Người dùng ở quốc gia không được hỗ trợ.

3. Người dùng thuộc tài khoản doanh nghiệp mà quản trị viên đã tắt tính năng mua hàng.

4. Google Play không thể tính phí phương thức thanh toán của người dùng (ví dụ: thẻ tín dụng đã hết hạn).

5. Người dùng chưa đăng nhập vào ứng dụng Play Store.

DEVELOPER_ERRORLỗi này cho biết bạn đang sử dụng API không đúng cách.
BILLING_ERRORLỗi này cho biết có sự cố nội bộ với chính Google Play.
ITEM_ALREADY_OWNEDSản phẩm đã được mua trước đó.
ITEM_NOT_OWNEDLỗi này cho biết thao tác được yêu cầu trên mặt hàng thất bại vì người dùng chưa sở hữu nó.
BILLING_NETWORK_ERRORLỗi này cho biết có sự cố với kết nối mạng giữa thiết bị và hệ thống của Play.
NO_PRODUCT_IDS_FOUND

Lỗi này cho biết không có sản phẩm nào trong paywall khả dụng trong cửa hàng.

Nếu bạn gặp lỗi này, hãy làm theo các bước dưới đây để khắc phục:

  1. Kiểm tra xem tất cả các sản phẩm đã được thêm vào Adapty Dashboard chưa.
  2. Đảm bảo rằng Package name của ứng dụng khớp với tên trong Google Play Console.
  3. Xác minh rằng các mã định danh sản phẩm từ cửa hàng ứng dụng khớp với những gì bạn đã thêm vào Dashboard. Lưu ý rằng các mã định danh không nên chứa Bundle ID, trừ khi nó đã được bao gồm trong cửa hàng.
  4. Xác nhận rằng trạng thái thanh toán của ứng dụng là Active trong cài đặt thuế Google của bạn. Đảm bảo thông tin thuế của bạn được cập nhật và chứng chỉ còn hiệu lực.
  5. Kiểm tra xem tài khoản ngân hàng đã được liên kết với ứng dụng chưa để ứng dụng đủ điều kiện kiếm tiền.
  6. Kiểm tra xem các sản phẩm có khả dụng ở khu vực của bạn không.
  7. Đảm bảo ứng dụng của bạn đang ở một trong các track kiểm thử. Track Internal testing là lựa chọn dễ nhất vì không yêu cầu xét duyệt và giữ ứng dụng ẩn với khách hàng.
NO_PURCHASES_TO_RESTORELỗi này cho biết Google Play không tìm thấy giao dịch mua để khôi phục.
AUTHENTICATION_ERRORBạn cần cấu hình Adapty SDK đúng cách bằng phương thức Adapty.activate.
BAD_REQUESTYêu cầu không hợp lệ.
Đảm bảo bạn đã hoàn thành tất cả các bước cần thiết để tích hợp với Google Play.
SERVER_ERRORLỗi máy chủ.
REQUEST_FAILEDLỗi này cho biết có sự cố mạng không thể xác định cụ thể.
DECODING_FAILEDChúng tôi không thể giải mã phản hồi.
Hãy xem lại code của bạn và đảm bảo rằng các tham số bạn gửi đi là hợp lệ. Ví dụ, lỗi này có thể cho biết bạn đang sử dụng API key không hợp lệ.
ANALYTICS_DISABLEDChúng tôi không thể xử lý các sự kiện analytics vì bạn đã tắt tính năng này.
WRONG_PARAMETERLỗi này cho biết một số tham số của bạn không đúng: để trống khi không được phép để trống, hoặc sai kiểu dữ liệu, v.v.

Các vấn đề khác

Nếu bạn vẫn chưa tìm được giải pháp, các bước tiếp theo có thể là:

  • Nâng cấp SDK lên phiên bản mới nhất: Chúng tôi luôn khuyến nghị nâng cấp lên các phiên bản SDK mới nhất vì chúng ổn định hơn và bao gồm các bản sửa lỗi đã biết.
  • Liên hệ đội ngũ hỗ trợ hoặc nhờ trợ giúp từ các nhà phát triển khác trong diễn đàn hỗ trợ.
  • Liên hệ đội ngũ hỗ trợ qua [email protected] hoặc qua chat: Nếu bạn chưa sẵn sàng nâng cấp SDK hoặc việc nâng cấp không giúp được, hãy liên hệ đội ngũ hỗ trợ của chúng tôi. Lưu ý rằng vấn đề của bạn sẽ được giải quyết nhanh hơn nếu bạn bật verbose logging và chia sẻ logs với đội ngũ. Bạn cũng có thể đính kèm các đoạn code liên quan.