ÿÿ Xá»­ lý lá»—i trong Unity | Tài liệu Adapty

Xử lý lỗi trong Unity SDK

Má»i lá»—i được SDK trả vá» Ä‘á»u là AdaptyErrorCode. Dưới đây là má»™t ví dụ:

Bật verbose logs trước khi debug. Hầu hết các AdaptyError Ä‘á»u bao gồm lá»—i gốc từ StoreKit, Play Billing, mạng, hoặc backend. Khi bật verbose logs (Adapty.SetLogLevel(AdaptyLogLevel.Verbose, ...) — xem Logging), lá»—i gố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.

Adapty.MakePurchase(product, (profile, error) => {
  if (error != null && error.Code == Adapty.ErrorCode.PaymentCancelled) {
      // payment cancelled
  }
});

Mã lỗi StoreKit hệ thống

LỗiMãGiải pháp
unknown0Mã lỗi này cho biết đã xảy ra lỗi không xác định hoặc không mong đợi.
Thử lại hoặc xem phần Các vấn đỠkhác.
clientInvalid1Mã lỗi này cho biết client không được phép thực hiện hành động đang cố gắng.
paymentCancelled2

Mã lá»—i này cho biết ngưá»i dùng đã há»§y yêu cầu thanh toán.

Không cần thá»±c hiện hành động nào, nhưng vá» mặt logic nghiệp vụ, bạn có thể đỠxuất ưu đãi cho ngưá»i dùng hoặc nhắc nhở há» sau.

paymentInvalid3Lỗi này cho biết một trong các tham số thanh toán không được App Store nhận dạng.
paymentNotAllowed4Mã lá»—i này cho biết ngưá»i dùng không được phép xác thá»±c thanh toán.
storeProductNotAvailable5Mã lỗi này cho biết sản phẩm được yêu cầu không có sẵn trong cửa hàng.
Thử cài lại ứng dụng.
cloudServicePermissionDenied6Mã lá»—i này cho biết ngưá»i dùng chưa cho phép truy cập thông tin dịch vụ Cloud.
cloudServiceNetworkConnectionFailed7Mã lỗi này cho biết thiết bị không thể kết nối mạng.
cloudServiceRevoked8Mã lá»—i này cho biết ngưá»i dùng đã thu hồi quyá»n sá»­ dụng dịch vụ cloud này.
privacyAcknowledgementRequired9Mã lá»—i này cho biết ngưá»i dùng chưa xác nhận chính sách quyá»n riêng tư cá»§a Apple.
unauthorizedRequestData10Mã lá»—i này cho biết ứng dụng Ä‘ang cố sá»­ dụng má»™t thuá»™c tính mà nó không có quyá»n truy cập cần thiết.
invalidOfferIdentifier11

identifier của ưu đãi không hợp lệ. Ví dụ: bạn chưa thiết lập ưu đãi với identifier đó trong App Store, hoặc bạn đã thu hồi ưu đãi.

Hãy đảm bảo bạn đã thiết lập các ưu đãi mong muốn trong AppStore Connect và truyá»n vào má»™t offer identifier hợp lệ.

invalidSignature12Mã lỗi này cho biết chữ ký trong payment discount không hợp lệ.
missingOfferParams13Mã lỗi này cho biết thiếu các tham số trong payment discount.
invalidOfferPrice14Mã lỗi này cho biết giá bạn đã chỉ định trong App Store Connect không còn hợp lệ nữa. Các ưu đãi luôn phải thể hiện mức giá giảm.

Mã lỗi Android tùy chỉnh

LỗiMãGiải pháp
adaptyNotInitialized20Bạn cần cấu hình đúng Adapty SDK bằng phương thức Adapty.activate. Tìm hiểu cách thực hiện cho Unity.
productNotFound22Lỗ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.
invalidJson23JSON của paywall không hợp lệ. Hãy sửa trong Adapty Dashboard. Tham khảo phần Tùy chỉnh paywall với remote config để biết cách khắc phục.
currentSubscriptionToUpdateNotFoundInHistory24Không tìm thấy gói đăng ký gốc cần gia hạn.
pendingPurchase25Lỗi này cho biết trạng thái giao dịch mua đang ở trạng thái chỠxử lý thay vì đã mua. Tham khảo trang Handling pending transactions trong tài liệu Android Developer để biết thêm chi tiết.
billingServiceTimeout97Lá»—i này cho biết yêu cầu đã đạt đến 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 chậm trá»… trong việc thá»±c thi hành động được yêu cầu bởi lệnh gá»i Play Billing Library.
featureNotSupported98Tính năng được yêu cầu không được hỗ trợ bởi Play Store trên thiết bị hiện tại.
billingServiceDisconnected99Lá»—i nghiêm trá»ng này cho biết kết nối cá»§a ứng dụng client tá»›i dịch vụ Google Play Store qua BillingClient đã bị ngắt.
billingServiceUnavailable102Lá»—i tạm thá»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ị client và dịch vụ Google Play Billing.
billingUnavailable103

Lá»—i này cho biết đã xảy ra lá»—i thanh toán cá»§a ngưá»i dùng trong quá trình mua. Các ví dụ khi Ä‘iá»u này có thể xảy ra bao gồm:

1. Ứng dụng Play Store trên thiết bị cá»§a ngưá»i dùng đã lá»—i thá»i.

2. Ngưá»i dùng ở quốc gia không được há»— trợ.

3. Ngưá»i dùng là ngưá»i dùng doanh nghiệp và quản trị viên doanh nghiệp cá»§a hỠđã tắt chức 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 cá»§a ngưá»i dùng có thể đã hết hạn.

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

developerError105Äây là lá»—i nghiêm trá»ng cho biết bạn Ä‘ang sá»­ dụng API không đúng cách.
billingError106Äây là lá»—i nghiêm trá»ng cho biết có vấn đỠná»™i bá»™ vá»›i chính Google Play.
itemAlreadyOwned107Sản phẩm consumable này đã được mua.
itemNotOwned108Lỗi này cho biết hành động được yêu cầu trên mục đã thất bại vì

Mã lỗi StoreKit tùy chỉnh

LỗiMãGiải pháp
noProductIDsFound1000

Lỗi này cho biết không có sản phẩm nào bạn yêu cầu trên paywall có thể mua được trong App Store, dù chúng đã được liệt kê ở đó. Lỗi này đôi khi xuất hiện kèm theo cảnh báo InvalidProductIdentifiers. Nếu cảnh báo xuất hiện mà không có lỗi, hãy bỠqua.

Nếu bạn gặp lỗi này, hãy làm theo các bước trong phần Khắc phục lỗi Code-1000 noProductIDsFound.

productRequestFailed1002

Không thể tải danh sách sản phẩm khả dụng vào lúc này. Lý do có thể là:

- Chưa có cache nào được tạo và đồng thá»i không có kết nối internet.

cantMakePayments1003In-app purchase không được phép trên thiết bị này. Xem hướng dẫn khắc phục.
noPurchasesToRestore1004Lỗi này cho biết Google Play không tìm thấy giao dịch mua để khôi phục.
cantReadReceipt1005

Không có receipt hợp lệ nào trên thiết bị. Äiá»u này có thể xảy ra khi kiểm thá»­ trong sandbox.

Không cần thá»±c hiện hành động nào, nhưng vá» mặt logic nghiệp vụ, bạn có thể đỠxuất ưu đãi cho ngưá»i dùng hoặc nhắc nhở há» sau.

productPurchaseFailed1006Giao dịch mua sản phẩm thất bại. Lá»—i này bao gồm lá»—i gốc từ StoreKit — hãy Ä‘á»c lá»—i được bao gồm (hoặc bật verbose logs để xem trong console) để biết nguyên nhân thá»±c sá»±. Lá»—i được bao gồm thưá»ng là má»™t trong các mã StoreKit 0–14 trong bảng trên — phổ biến nhất là paymentCancelled, paymentInvalid, paymentNotAllowed, hoặc invalidOfferPrice. Nếu bạn không thể xác định nguyên nhân cụ thể, hãy thá»­ vá»›i sandbox profile má»›i; nếu vẫn thất bại, hãy liên hệ há»— trợ Apple.
refreshReceiptFailed1010Lỗi này cho biết receipt không được nhận. Chỉ áp dụng cho StoreKit 1.
receiveRestoredTransactionsFailed1011Khôi phục giao dịch mua thất bại.

Mã lỗi mạng tùy chỉnh

LỗiMãGiải pháp
notActivated2002Adapty SDK chưa được kích hoạt.
Thưá»ng gặp nhất khi màn hình splash hoặc má»™t script 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 trong editor vì thá»i gian trên thiết bị thá»±c khác nhau. Hãy chá» callback hoàn thành cá»§a Activate trước khi lập lịch bất kỳ lệnh gá»i SDK nào khác. Xem Thứ tá»± gá»i trong Unity SDK để biết trình tá»± đầy đủ.
badRequest2003Yê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 App Store.
serverError2004Lỗi máy chủ.
Thá»­ lại sau má»™t khoảng thá»i gian. Nếu vấn đỠvẫn chưa được giải quyết, hãy liên hệ đội há»— trợ Adapty.
networkFailed2005Lá»—i này cho biết có sá»± cố kết nối mạng trên thiết bị cá»§a ngưá»i dùngÿÿ.
Thử tắt VPN hoặc chuyển từ mạng di động sang WiFi hoặc ngược lại.
decodingFailed2006Lỗi này cho biết quá trình giải mã response thất bại.
Kiểm tra lại code và đảm bảo rằng các tham số bạn gá»­i Ä‘á»u hợp lệ. Ví dụ, lá»—i này có thể cho thấy bạn Ä‘ang sá»­ dụng API key không hợp lệ.
encodingFailed2009Lỗi này cho biết quá trình mã hóa request thất bại.
missingURL2010URL được yêu cầu là nil.
analyticsDisabled3000Chú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.
wrongParam3001Lỗi này cho biết một số tham số của bạn không chính xác.
Nếu bạn đang sử dụng Adapty paywall builder và không thể hiển thị paywall vì lỗi này, hãy bật Show on device trong paywall builder.
Nguyên nhân khác có thể là phiên bản file fallback cục bộ không khớp với phiên bản SDK. Hãy tải xuống file mới trong dashboard.
activateOnceError3005Không thể gá»i phương thức .activate nhiá»u hÆ¡n má»™t lần.
profileWasChanged3006Hồ sÆ¡ ngưá»i dùng đã bị 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 chạy đó sẽ tác động lên má»™t hồ sÆ¡ sắp bị thay thế và SDK từ chối nó. Hãy chá» callback hoàn thành cá»§a Identify trước bất kỳ lệnh gá»i nào liên quan đến hành động cá»§a ngưá»i dùng. Xem Thứ tá»± gá»i trong Unity SDK.
unsupportedData3007Lỗi này cho biết định dạng dữ liệu không được SDK hỗ trợ.
persistingDataError3100Äã xảy ra lá»—i khi lưu dữ liệu.
fetchTimeoutError3101Lá»—i này cho biết thao tác tải dữ liệu đã hết thá»i gian chá».

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 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 há»— trợ hoặc nhận trợ giúp từ cá»™ng đồng nhà phát triển tại diá»…n đàn há»— trợ.
  • Liên hệ đội há»— trợ qua support@adapty.io hoặc qua chat: Nếu bạn chưa sẵn sàng nâng cấp SDK hoặc nâng cấp không giải quyết được vấn Ä‘á», hãy liên hệ đội 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.
ÿÿÿÿ