Uygulamanız Play Integrity API isteği gönderir ve çağrı başarısız olursa uygulamanıza bir hata kodu gönderilir. Bu hatalar, zayıf ağ bağlantısı gibi çevresel sorunlar, API entegrasyonunuzla ilgili sorunlar veya kötü amaçlı etkinlikler ve etkin saldırılar gibi çeşitli nedenlerden kaynaklanabilir. Döndürülen hata kodunun türü, isteğin türüne bağlıdır:
- Standart istekler: API, StandardIntegrityErrorCode hatası döndürür.
- Klasik istekler: API, IntegrityErrorCode döndürür.
Yeniden deneme stratejileri
Arka planda gerçekleşen ve kullanıcı oturumdayken kullanıcı deneyimini etkilemeyen Play Integrity işlemleri için eksponansiyel geri yükleme kullanın.
Örneğin, bu işlem arka planda gerçekleşebileceği ve bir hata oluştuğunda onayın gerçek zamanlı olarak yapılması gerekmediği için yeni satın alma işlemlerini onaylarken bunu uygulamak uygundur.
İlk başarısız denemeden sonra, yeniden denemeden önce 5 saniyelik bir gecikmeyle başlayın.
Her seferinde eksponansiyel olarak artan bir gecikme (10 saniye, 20 saniye) kullanarak çıkış koşulu olarak maksimum deneme sayısına sahip bir yeniden deneme stratejisi uygulayın.
Bu yeniden deneme girişimlerini gerçekleştirirken ağ bağlantısını kontrol edin ve cihazı aşırı yüklemeyin.
Üç yeniden deneme denemesinden sonra hata görmeye devam ederseniz sonucu, istemcinin tüm bütünlük kontrollerini geçemediği gibi değerlendirin. Bu hata, aşırı yüklenmiş cihaz, ağ bağlantısı sorunları veya bir saldırganın girişimi dahil ancak bunlarla sınırlı olmamak üzere çeşitli nedenlerden kaynaklanabilir.
Java kitaplığı için hata kodu değerleri
Yerel kitaplık için ek hata kodu değerleri
Yeniden denemeye uygun hata kodları
Bu hataların nedeni bazen geçici koşullardan kaynaklanır. Bu nedenle, aramayı tekrar denemeniz gerekir.
NETWORK_ERROR
(Hata Kodu: -3)
Bu hata, cihaz ile Play sistemleri arasındaki ağ bağlantısında bir sorun olduğunu gösterir.
Olası çözüm
Kurtarma işlemi için kullanıcıdan ağ bağlantısını kontrol etmesini isteyin ve hatayı tetikleyen işleme bağlı olarak basit yeniden deneme veya üstel geri çekilme kullanın.
Ayrıca bkz.
Klasik istekler için NETWORK_ERROR
.
TOO_MANY_REQUESTS
(Hata Kodu: -8)
Arayan uygulama, API'ye çok fazla istek gönderiyor ve sınırlandırıldı.
Olası çözüm
- Günlük maksimum istek sayınızın artırılmasını talep etme
- Eksponansiyel geri yüklemeyle yeniden deneyin.
Ayrıca bkz.
Klasik istekler için TOO_MANY_REQUESTS
.
GOOGLE_SERVER_UNAVAILABLE
(Hata Kodu: -12)
Bilinmeyen dahili Google sunucu hatası.
Olası çözüm
Eksponansiyel geri yüklemeyle yeniden deneyin. Sürekli olarak başarısız oluyorsa hata bildiriminde bulunabilirsiniz.
Ayrıca bkz.
Klasik istekler için GOOGLE_SERVER_UNAVAILABLE
.
CLIENT_TRANSIENT_ERROR
(Hata Kodu: -18)
İstemci cihazda geçici hata oluştu.
Standart API istekleri için bu özellik, Kotlin ve Java için Play Integrity API kitaplığının 1.3.0 sürümü, Unity için Google Play Integrity Plugin 1.3.0 veya sonraki sürümler ve Play Core Native SDK 1.13.0 veya sonraki sürümler itibarıyla desteklenmektedir.
Olası çözüm
Eksponansiyel geri yüklemeyle yeniden deneyin.
Ayrıca bkz.
Klasik istekler için CLIENT_TRANSIENT_ERROR
.
Not: Klasik API isteği kullanılırken raporlandığında döndürülen değer -17'dir.
INTERNAL_ERROR
(Hata Kodu: -100)
Bilinmeyen dahili hata.
Olası çözüm
Eksponansiyel geri yüklemeyle yeniden deneyin. Sürekli olarak başarısız oluyorsa hata bildiriminde bulunabilirsiniz.
Ayrıca bkz.
Klasik istekler için INTERNAL_ERROR
.
STANDARD_INTEGRITY_INTERNAL_ERROR
(Hata Kodu: -100)
Bilinmeyen dahili hata.
Olası çözüm
Eksponansiyel geri yüklemeyle yeniden deneyin. Sürekli olarak başarısız oluyorsa hata bildiriminde bulunabilirsiniz.
Ayrıca bkz.
Klasik istekler için INTEGRITY_INTERNAL_ERROR
bölümüne bakın.
STANDARD_INTEGRITY_INITIALIZATION_FAILED
(Hata Kodu: -102)
Standart Integrity API başlatılırken bir hata oluştu.
Olası çözüm
Eksponansiyel geri yüklemeyle yeniden deneyin. Sürekli olarak başarısız oluyorsa hata bildiriminde bulunabilirsiniz.
Ayrıca bkz.
Klasik istekler için INTEGRITY_INITIALIZATION_FAILED
bölümüne bakın.
Yeniden denemesi yapılamayan hata kodları
Bu tür durumlarda otomatik yeniden denemelerin işe yaraması olası değildir. Ancak kullanıcı, soruna neden olan durumu giderirse manuel olarak yeniden denemek faydalı olabilir. Örneğin, kullanıcı Play Store sürümünü desteklenen bir sürüme güncellerse ilk işlemin manuel olarak yeniden denenmesi işe yarayabilir.
API_NOT_AVAILABLE
(Hata Kodu: -1)
Cihaza yüklü Play Store sürümü eski olabilir ve Integrity API kullanılamayabilir. Integrity API'nin Google Play Console'da etkin olmaması da olası bir nedendir.
Olası çözüm
- Google Play Console'da Integrity API'nin etkinleştirildiğinden emin olun.
- Kullanıcıdan Play Store'u güncellemesini isteyin.
Ayrıca bkz.
Klasik istek için API_NOT_AVAILABLE
bölümüne bakın.
PLAY_STORE_NOT_FOUND
(Hata Kodu: -2)
Cihazda resmi bir Play Store uygulaması bulunamadı.
Olası çözüm
Kullanıcıdan Google Play Store'u yüklemesini veya etkinleştirmesini isteyin.
Ayrıca bkz.
Klasik istek için PLAY_STORE_NOT_FOUND
bölümüne bakın.
PLAY_STORE_ACCOUNT_NOT_FOUND
(Hata Kodu: -4)
Not: Bu durum yalnızca IntegrityErrorCode
üzerinden yapılan klasik isteklerde raporlanır.
Cihazda Play Store hesabı bulunamadı. Play Integrity API'nin artık kimliği doğrulanmamış istekleri desteklediğini unutmayın. Bu hata kodu yalnızca destek verilmeyen eski Play Store sürümlerinde kullanılır.
Olası çözüm
Kullanıcıdan Google Play Store'u güncellemesini ve oturum açmasını isteyin.
APP_NOT_INSTALLED
(Hata Kodu: -5)
Arama uygulaması yüklü değil. Bir sorun var (muhtemelen saldırı).
Olası çözüm
İşlem yapılamaz. Sonucu, istemci tüm bütünlük kontrollerini geçememiş gibi değerlendirin.
Ayrıca bkz.
Klasik istek için APP_NOT_INSTALLED
bölümüne bakın.
PLAY_SERVICES_NOT_FOUND
(Hata Kodu: -6)
Play Hizmetleri kullanılamıyor veya güncellenmesi gerekiyor.
Olası çözüm
Kullanıcıdan Play Hizmetleri'ni yüklemesini, güncellemesini veya etkinleştirmesini isteyin.
Ayrıca bkz.
Klasik istek için APP_NOT_INSTALLED
bölümüne bakın.
APP_UID_MISMATCH
(Hata Kodu: -7)
Çağıran uygulamanın UID'si (kullanıcı kimliği), Paket Yöneticisi'ndeki UID ile eşleşmiyor.
Olası çözüm
İşlem yapılamaz. Sonucu, istemci tüm bütünlük kontrollerini geçememiş gibi değerlendirin.
Ayrıca bkz.
Klasik istek için APP_UID_MISMATCH
bölümüne bakın.
CANNOT_BIND_TO_SERVICE
(Hata Kodu: -9)
Play Store'da hizmete bağlanma işlemi başarısız oldu. Bu durum, cihazda eski bir Play Store sürümünün yüklü olmasından kaynaklanabilir.
Olası çözüm
Kullanıcıdan Google Play Store'u güncellemesini isteyin.
Ayrıca bkz.
Klasik istek için CANNOT_BIND_TO_SERVICE
bölümüne bakın.
NONCE_TOO_SHORT
(Hata Kodu: -10)
Not: Bu durum yalnızca IntegrityErrorCode
üzerinden yapılan klasik isteklerde raporlanır.
Tek seferlik rastgele sayı uzunluğu çok kısa. Tek seferlik şifre, base64 kodlamadan önce en az 16 bayt olmalıdır.
Olası çözüm
Daha uzun bir tek seferlik sayı kullanarak tekrar deneyin.
NONCE_TOO_LONG
(Hata Kodu: -11)
Not: Bu durum yalnızca IntegrityErrorCode
üzerinden yapılan klasik isteklerde raporlanır.
Tek seferlik rastgele sayı çok uzun. Tek seferlik şifre, base64 kodlamadan önce 500 bayttan kısa olmalıdır.
Olası çözüm
Daha kısa bir tek seferlik sayı kullanarak tekrar deneyin.
NONCE_IS_NOT_BASE64
(Hata Kodu: -13)
Not: Bu durum yalnızca IntegrityErrorCode
üzerinden yapılan klasik isteklerde raporlanır.
Tek seferlik rastgele sayı, base64 web güvenli sarmalayıcısız dize olarak kodlanmamıştır.
Olası çözüm
Doğru biçimde bir tek seferlik sayı kullanarak tekrar deneyin.
PLAY_STORE_VERSION_OUTDATED
(Hata Kodu: -14)
Google Play Store uygulamasının güncellenmesi gerekiyor.
Olası çözüm
Kullanıcıdan Google Play Store'u güncellemesini isteyin.
Ayrıca bkz.
Klasik istek için PLAY_STORE_VERSION_OUTDATED
bölümüne bakın.
PLAY_SERVICES_VERSION_OUTDATED
(Hata Kodu: -15)
Google Play Hizmetleri'nin güncellenmesi gerekiyor.
Olası çözüm
Kullanıcıdan Google Play Hizmetleri'ni güncellemesini isteyin.
Ayrıca bkz.
Klasik istek için PLAY_SERVICES_VERSION_OUTDATED
bölümüne bakın.
CLOUD_PROJECT_NUMBER_IS_INVALID
(Hata Kodu: -16)
Sağlanan Cloud projesi numarası geçersiz.
Olası çözüm
Play Integrity API'yi etkinleştirdiğiniz Cloud projesinin Cloud proje numarasını kullanın.
Ayrıca bkz.
Klasik istek için CLOUD_PROJECT_NUMBER_IS_INVALID
bölümüne bakın.
REQUEST_HASH_TOO_LONG
(Hata Kodu: -17)
Not: Bu durum yalnızca StandardIntegrityErrorCode
üzerinden standart istek kullanılırken raporlanır.
Sağlanan requestHash
çok uzun. requestHash
uzunluğu 500 karakterden kısa olmalıdır.
Olası çözüm
Daha kısa bir requestHash
ile tekrar deneyin.
INTEGRITY_TOKEN_PROVIDER_INVALID
(Hata Kodu: -19)
Not: Bu durum yalnızca StandardIntegrityErrorCode
üzerinden standart istek için raporlanır.
StandardIntegrityTokenProvider
geçersiz. Bu hata kodu yalnızca Standart API isteklerinde kullanılabilir. Kotlin ve Java programlama dilleri için kitaplık sürümü 1.3.0, Unity için Google Play Integrity Plugin 1.3.0 veya sonraki sürümler ve Play Core Yerel SDK 1.13.0 veya sonraki sürümler bu hata kodunu destekler.
Olası çözüm
Yeni bir bütünlük anahtarı sağlayıcısı isteyin.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(Hata Kodu: -101)
StandardIntegrityManager
ilk kullanıma hazırlanmamış.
Olası çözüm
Önce StandardIntegrityManager_init()
numaralı telefonu arayın.
Ayrıca bkz.
Klasik İstekler için INTEGRITY_INITIALIZATION_NEEDED
bölümüne bakın
STANDARD_INTEGRITY_INVALID_ARGUMENT
(Hata Kodu: -103)
Standart Integrity API'ye geçersiz bağımsız değişken iletildi.
Olası çözüm
Doğru bağımsız değişkenle tekrar deneyin.
Ayrıca bkz.
Klasik istekler için INTEGRITY_INVALID_ARGUMENT
bölümüne bakın.