اگر برنامه ای با استفاده از Play Integrity API درخواستی ارائه دهد و تماس با شکست مواجه شود، یک کد خطا برگردانده می شود. نوع کد خطای برگشتی به نوع درخواست بستگی دارد:
- درخواستهای استاندارد: API یک StandardIntegrityErrorCode را برمیگرداند.
- درخواستهای کلاسیک: API یک IntegrityErrorCode را برمیگرداند.
استراتژی ها را دوباره امتحان کنید
برای عملیات Play Integrity که در پسزمینه اتفاق میافتند و در زمانی که کاربر در جلسه است، روی تجربه کاربر تأثیر نمیگذارد، از عقبنشینی نمایی استفاده کنید.
بهعنوان مثال، هنگام تأیید خریدهای جدید، اجرای آن مناسب است زیرا این عملیات میتواند در پسزمینه اتفاق بیفتد، و اگر خطایی رخ دهد، نیازی به تأیید در زمان واقعی نیست.
پس از اولین شکست، با تاخیر اولیه 5 ثانیه قبل از تلاش مجدد شروع کنید.
یک استراتژی تلاش مجدد را با حداکثر تعداد تلاش به عنوان شرط خروج با استفاده از افزایش نمایی تاخیر در هر بار (10 ثانیه، 20 ثانیه) اجرا کنید.
در حین انجام این تلاشها، اتصال شبکه را بررسی کنید و دستگاه را بیش از حد بارگیری نکنید.
اگر بعد از سه بار تلاش مجدد همچنان خطاها را مشاهده می کنید، با نتیجه به گونه ای رفتار کنید که گویی مشتری تمام بررسی های یکپارچگی را انجام نداده است. این خطا می تواند به دلایل مختلفی باشد، از جمله (اما نه محدود به): دستگاه بارگذاری شده بیش از حد، مشکلات اتصال به شبکه یا تلاش یک مهاجم.
مقادیر کدهای خطا برای کتابخانه جاوا
مقادیر کدهای خطای اضافی برای کتابخانه بومی
کدهای خطای قابل امتحان مجدد
علت این خطاها گاهی اوقات به دلیل شرایط گذرا است و بنابراین باید دوباره تماس بگیرید.
NETWORK_ERROR
(کد خطا -3)
این خطا نشان می دهد که مشکلی در اتصال شبکه بین دستگاه و سیستم های Play وجود دارد.
وضوح ممکن
برای بازیابی، از کاربر بخواهید اتصال شبکه را بررسی کند و بسته به اینکه کدام عمل باعث خطا شده است، از تلاش های مجدد ساده یا عقب نشینی نمایی استفاده کند.
همچنین ببینید
NETWORK_ERROR
برای درخواست های کلاسیک.
TOO_MANY_REQUESTS
(کد خطا -8)
برنامه تماس درخواستهای زیادی به API ارسال میکند و متوقف شده است.
وضوح ممکن
- درخواست افزایش حداکثر تعداد درخواست های روزانه خود را
- با عقب نشینی نمایی دوباره تلاش کنید.
همچنین ببینید
TOO_MANY_REQUESTS
برای درخواست های کلاسیک.
GOOGLE_SERVER_UNAVAILABLE
(کد خطا -12)
خطای ناشناخته سرور داخلی گوگل.
وضوح ممکن
با عقب نشینی نمایی دوباره تلاش کنید. در صورت عدم موفقیت مداوم، یک اشکال را در نظر بگیرید.
همچنین ببینید
GOOGLE_SERVER_UNAVAILABLE
برای درخواست های کلاسیک.
CLIENT_TRANSIENT_ERROR
(کد خطا -18)
خطای گذرا در دستگاه سرویس گیرنده رخ داده است.
برای درخواستهای استاندارد API، از نسخه 1.3.0 کتابخانه Play Integrity API برای Kotlin و Java ، افزونه Google Play Integrity برای Unity 1.3.0 یا بالاتر و Play Core Native SDK 1.13.0 یا بالاتر پشتیبانی میشود.
وضوح ممکن
با عقب نشینی نمایی دوباره تلاش کنید.
همچنین ببینید
CLIENT_TRANSIENT_ERROR
برای درخواست های کلاسیک.
توجه: هنگامی که هنگام استفاده از درخواست API کلاسیک گزارش می شود، مقدار بازگشتی -17 است.
INTERNAL_ERROR
(کد خطا -100)
خطای داخلی ناشناخته
وضوح ممکن
با عقب نشینی نمایی دوباره تلاش کنید. در صورت عدم موفقیت مداوم، یک اشکال را در نظر بگیرید.
همچنین ببینید
INTERNAL_ERROR
برای درخواست های کلاسیک.
STANDARD_INTEGRITY_INTERNAL_ERROR
(کد خطا -100)
خطای داخلی ناشناخته
وضوح ممکن
با عقب نشینی نمایی دوباره تلاش کنید. در صورت عدم موفقیت مداوم، یک اشکال را در نظر بگیرید.
همچنین ببینید
برای درخواستهای کلاسیک به INTEGRITY_INTERNAL_ERROR
مراجعه کنید.
STANDARD_INTEGRITY_INITIALIZATION_FAILED
(کد خطا -102)
خطایی در راه اندازی API استاندارد یکپارچگی وجود داشت.
وضوح ممکن
با عقب نشینی نمایی دوباره تلاش کنید. در صورت عدم موفقیت مداوم، یک اشکال را در نظر بگیرید.
همچنین ببینید
برای درخواستهای کلاسیک به INTEGRITY_INITIALIZATION_FAILED
مراجعه کنید.
کدهای خطای غیر قابل تکرار
بعید است تلاش مجدد خودکار در این موارد کمک کند. با این حال، اگر کاربر شرایطی را که باعث ایجاد مشکل شده است، برطرف کند، یک امتحان مجدد دستی ممکن است کمک کند. به عنوان مثال، اگر کاربر نسخه Play Store خود را به نسخه پشتیبانی شده بهروزرسانی کند، یک امتحان مجدد دستی از عملیات اولیه میتواند کارساز باشد.
API_NOT_AVAILABLE
(کد خطا -1)
نسخه Play Store نصب شده روی دستگاه ممکن است قدیمی باشد و Integrity API در دسترس نباشد. احتمال دیگر این است که Integrity API در کنسول Google Play فعال نباشد.
وضوح ممکن
- مطمئن شوید که Integrity API در Google Play Console فعال است.
- از کاربر بخواهید فروشگاه Play را به روز کند.
همچنین ببینید
برای درخواست کلاسیک به API_NOT_AVAILABLE
مراجعه کنید.
PLAY_STORE_NOT_FOUND
(کد خطا -2)
هیچ برنامه رسمی Play Store در دستگاه یافت نشد.
وضوح ممکن
از کاربر بخواهید فروشگاه Google Play را نصب یا فعال کند.
همچنین ببینید
برای درخواست کلاسیک به PLAY_STORE_NOT_FOUND
مراجعه کنید.
PLAY_STORE_ACCOUNT_NOT_FOUND
(کد خطا -4)
توجه: این فقط برای درخواست کلاسیک از طریق IntegrityErrorCode
گزارش می شود.
هیچ حساب Play Store در دستگاه یافت نشد. توجه داشته باشید که Play Integrity API اکنون از درخواستهای احراز هویت نشده پشتیبانی میکند. این کد خطا فقط برای نسخه های قدیمی Play Store که فاقد پشتیبانی هستند استفاده می شود.
وضوح ممکن
از کاربر بخواهید به روز رسانی کند و به فروشگاه Google Play وارد شود.
APP_NOT_INSTALLED
(کد خطا -5)
برنامه تماس نصب نشده است. چیزی اشتباه است (احتمالاً یک حمله).
وضوح ممکن
غیرقابل عمل با نتیجه به گونه ای رفتار کنید که گویی مشتری در تمام بررسی های یکپارچگی شکست خورده است.
همچنین ببینید
برای درخواست کلاسیک به APP_NOT_INSTALLED
مراجعه کنید.
PLAY_SERVICES_NOT_FOUND
(کد خطا -6)
سرویسهای Play در دسترس نیستند یا باید بهروزرسانی شوند.
وضوح ممکن
از کاربر بخواهید خدمات Play را نصب، بهروزرسانی یا فعال کند.
همچنین ببینید
برای درخواست کلاسیک به APP_NOT_INSTALLED
مراجعه کنید.
APP_UID_MISMATCH
(کد خطا -7)
UID برنامه تماس (شناسه کاربری) با Package Manager مطابقت ندارد.
وضوح ممکن
غیرقابل عمل با نتیجه به گونه ای رفتار کنید که گویی مشتری در تمام بررسی های یکپارچگی شکست خورده است.
همچنین ببینید
برای درخواست کلاسیک به APP_UID_MISMATCH
مراجعه کنید.
CANNOT_BIND_TO_SERVICE
(کد خطا -9)
اتصال به سرویس در فروشگاه Play انجام نشد. این می تواند به دلیل نصب نسخه قدیمی Play Store بر روی دستگاه باشد.
وضوح ممکن
از کاربر بخواهید فروشگاه Google Play را به روز کند.
همچنین ببینید
برای درخواست کلاسیک به CANNOT_BIND_TO_SERVICE
مراجعه کنید.
NONCE_TOO_SHORT
(کد خطا -10)
توجه: این فقط برای درخواست کلاسیک از طریق IntegrityErrorCode
گزارش می شود.
طول Nonce خیلی کوتاه است. قبل از کدگذاری base64، nonce باید حداقل 16 بایت باشد.
وضوح ممکن
با یک نونس طولانیتر دوباره امتحان کنید.
NONCE_TOO_LONG
(کد خطا -11)
توجه: این فقط برای درخواست کلاسیک از طریق IntegrityErrorCode
گزارش می شود.
طول غیر بیش از حد طولانی است. قبل از کدگذاری base64، nonce باید کمتر از 500 بایت باشد.
وضوح ممکن
با یک nonce کوتاهتر دوباره امتحان کنید.
NONCE_IS_NOT_BASE64
(کد خطا -13)
توجه: این فقط برای درخواست کلاسیک از طریق IntegrityErrorCode
گزارش می شود.
Nonce به عنوان یک رشته بدون پوشش وب ایمن base64 کدگذاری نشده است.
وضوح ممکن
با یک nonce در قالب صحیح دوباره امتحان کنید.
PLAY_STORE_VERSION_OUTDATED
(کد خطا -14)
برنامه فروشگاه Google Play باید به روز شود.
وضوح ممکن
از کاربر بخواهید فروشگاه Google Play را به روز کند.
همچنین ببینید
برای درخواست کلاسیک به PLAY_STORE_VERSION_OUTDATED
مراجعه کنید.
PLAY_SERVICES_VERSION_OUTDATED
(کد خطا -15)
خدمات Google Play باید به روز شوند.
وضوح ممکن
از کاربر بخواهید خدمات گوگل پلی را به روز کند.
همچنین ببینید
برای درخواست کلاسیک به PLAY_SERVICES_VERSION_OUTDATED
مراجعه کنید.
CLOUD_PROJECT_NUMBER_IS_INVALID
(کد خطا -16)
شماره پروژه ابری ارائه شده نامعتبر است.
وضوح ممکن
از شماره پروژه Cloud برای پروژه Cloud که Play Integrity API را برای آن فعال کردهاید، استفاده کنید.
همچنین ببینید
برای درخواست کلاسیک به CLOUD_PROJECT_NUMBER_IS_INVALID
مراجعه کنید.
REQUEST_HASH_TOO_LONG
(کد خطا -17)
توجه: این فقط هنگام استفاده از درخواست استاندارد از طریق StandardIntegrityErrorCode
گزارش می شود.
requestHash
ارائه شده بیش از حد طولانی است. طول requestHash
باید کمتر از 500 کاراکتر باشد.
وضوح ممکن
با یک requestHash
کوتاهتر دوباره امتحان کنید.
INTEGRITY_TOKEN_PROVIDER_INVALID
(کد خطا -19)
توجه: این فقط برای درخواست استاندارد از طریق StandardIntegrityErrorCode
گزارش می شود.
StandardIntegrityTokenProvider
نامعتبر است. این کد خطا فقط برای درخواستهای استاندارد API موجود است، جایی که در نسخه کتابخانه 1.3.0 برای زبانهای برنامهنویسی Kotlin و Java، افزونه Google Play Integrity برای Unity 1.3.0 یا بالاتر و Play Core Native SDK 1.13.0 یا پشتیبانی میشود. بالاتر
وضوح ممکن
یک ارائه دهنده رمز یکپارچگی جدید درخواست کنید.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(کد خطا -101)
StandardIntegrityManager
مقداردهی اولیه نشده است.
وضوح ممکن
ابتدا StandardIntegrityManager_init()
را فراخوانی کنید.
همچنین ببینید
برای درخواستهای کلاسیک به INTEGRITY_INITIALIZATION_NEEDED
مراجعه کنید
STANDARD_INTEGRITY_INVALID_ARGUMENT
(کد خطا -103)
آرگومان نامعتبر به استاندارد Integrity API ارسال شد.
وضوح ممکن
با استدلال صحیح دوباره تلاش کنید.
همچنین ببینید
برای درخواستهای کلاسیک به INTEGRITY_INVALID_ARGUMENT
مراجعه کنید.