Wenn Ihre App eine Play Integrity API-Anfrage stellt und der Aufruf fehlschlägt, erhält Ihre App einen Fehlercode. Diese Fehler können verschiedene Ursachen haben, z. B. Umweltprobleme wie eine schlechte Netzwerkverbindung, Probleme mit Ihrer API-Integration oder schädliche Aktivitäten und aktive Angriffe. Der zurückgegebene Fehlercode hängt vom Anfragetyp ab:
- Standardanfragen: Die API gibt einen StandardIntegrityErrorCode zurück.
- Klassische Anfragen: Die API gibt einen IntegrityErrorCode zurück.
Strategien für Wiederholungsversuche
Verwenden Sie exponentiellen Backoff für Play Integrity-Vorgänge, die im Hintergrund ausgeführt werden und die Nutzerfreundlichkeit nicht beeinträchtigen, während der Nutzer angemeldet ist.
Dies ist beispielsweise beim Bestätigen neuer Käufe sinnvoll, da dieser Vorgang im Hintergrund erfolgen kann und die Bestätigung nicht in Echtzeit erfolgen muss, wenn ein Fehler auftritt.
Beginnen Sie nach dem ersten Fehler mit einer anfänglichen Verzögerung von 5 Sekunden, bevor Sie es noch einmal versuchen.
Implementieren Sie eine Wiederholungsstrategie mit einer maximalen Anzahl von Versuchen als Beendigungsbedingung und einer exponentiell erhöhten Verzögerung bei jedem Versuch (10 s, 20 s).
Prüfen Sie während dieser Wiederholungsversuche, ob eine Netzwerkverbindung besteht, und überlasten Sie das Gerät nicht.
Wenn nach drei Wiederholungsversuchen weiterhin Fehler auftreten, behandeln Sie das Ergebnis so, als ob der Client alle Integritätsprüfungen nicht bestanden hat. Der Fehler kann verschiedene Gründe haben, z. B. eine Überlastung des Geräts, Probleme mit der Netzwerkverbindung oder ein Angriffsversuch.
Fehlercode-Werte für die Java-Bibliothek
Zusätzliche Fehlercodewerte für die native Bibliothek
Wiederholbare Fehlercodes
Die Ursache dieser Fehler liegt manchmal in vorübergehenden Bedingungen. Sie sollten den Aufruf daher noch einmal versuchen.
NETWORK_ERROR
(Fehlercode -3)
Dieser Fehler gibt an, dass ein Problem mit der Netzwerkverbindung zwischen dem Gerät und den Play-Systemen vorlag.
Mögliche Lösung
Bitten Sie den Nutzer, die Netzwerkverbindung zu prüfen, und verwenden Sie einfache Wiederholungen oder exponentiellen Backoff, je nachdem, welche Aktion den Fehler ausgelöst hat.
Siehe auch
NETWORK_ERROR
für klassische Anfragen.
TOO_MANY_REQUESTS
(Fehlercode -8)
Die aufrufende App sendet zu viele Anfragen an die API und wurde gedrosselt.
Mögliche Lösung
- Erhöhung des Tageslimits für Anfragen beantragen
- Wiederholen Sie den Vorgang mit exponentiellem Backoff.
Siehe auch
TOO_MANY_REQUESTS
für klassische Anfragen.
GOOGLE_SERVER_UNAVAILABLE
(Fehlercode -12)
Unbekannter interner Google-Serverfehler.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff. Wenn der Test immer fehlschlägt, melden Sie den Fehler.
Siehe auch
GOOGLE_SERVER_UNAVAILABLE
für klassische Anfragen.
CLIENT_TRANSIENT_ERROR
(Fehlercode -18)
Auf dem Clientgerät ist ein vorübergehender Fehler aufgetreten.
Für Standard-API-Anfragen wird dies ab Version 1.3.0 der Play Integrity API-Bibliothek für Kotlin und Java, des Google Play Integrity-Plug-ins für Unity 1.3.0 oder höher und des Play Core Native SDK 1.13.0 oder höher unterstützt.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff.
Siehe auch
CLIENT_TRANSIENT_ERROR
für klassische Anfragen.
Hinweis:Wenn dieser Fehler bei einer Classic API-Anfrage gemeldet wird, ist der zurückgegebene Wert -17.
INTERNAL_ERROR
(Fehlercode -100)
Unbekannter interner Fehler.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff. Wenn der Test immer wieder fehlschlägt, sollten Sie einen Fehlerbericht einreichen.
Siehe auch
INTERNAL_ERROR
für klassische Anfragen.
STANDARD_INTEGRITY_INTERNAL_ERROR
(Fehlercode -100)
Unbekannter interner Fehler.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff. Wenn der Test immer wieder fehlschlägt, sollten Sie einen Fehlerbericht einreichen.
Siehe auch
Weitere Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INTERNAL_ERROR
.
STANDARD_INTEGRITY_INITIALIZATION_FAILED
(Fehlercode -102)
Beim Initialisieren der Standard Integrity API ist ein Fehler aufgetreten.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff. Wenn der Test immer wieder fehlschlägt, sollten Sie einen Fehlerbericht einreichen.
Siehe auch
Weitere Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INITIALIZATION_FAILED
.
Nicht behebbare Fehlercodes
Automatische Wiederholungen sind in diesen Fällen wahrscheinlich nicht hilfreich. Ein manueller Wiederholungsversuch kann jedoch hilfreich sein, wenn der Nutzer die Bedingung behebt, die das Problem verursacht hat. Wenn der Nutzer beispielsweise seine Play Store-Version auf eine unterstützte Version aktualisiert, kann ein manueller Wiederholungsversuch des ursprünglichen Vorgangs funktionieren.
API_NOT_AVAILABLE
(Fehlercode -1)
Die auf dem Gerät installierte Play Store-Version ist möglicherweise alt und die Integrity API ist nicht verfügbar. Eine weitere Möglichkeit ist, dass die Integrity API in der Google Play Console nicht aktiviert ist.
Mögliche Lösung
- Prüfen Sie, ob die Integrity API in der Google Play Console aktiviert ist.
- Bitte den Nutzer, den Play Store zu aktualisieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter API_NOT_AVAILABLE
.
PLAY_STORE_NOT_FOUND
(Fehlercode –2)
Auf dem Gerät wurde keine offizielle Play Store App gefunden.
Mögliche Lösung
Bitten Sie den Nutzer, den Google Play Store zu installieren oder zu aktivieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter PLAY_STORE_NOT_FOUND
.
PLAY_STORE_ACCOUNT_NOT_FOUND
(Fehlercode –4)
Hinweis:Dies wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Auf dem Gerät wurde kein Play Store-Konto gefunden. Die Play Integrity API unterstützt jetzt auch nicht authentifizierte Anfragen. Dieser Fehlercode wird nur für ältere Play Store-Versionen verwendet, die nicht unterstützt werden.
Mögliche Lösung
Bitte den Nutzer, den Google Play Store zu aktualisieren und sich anzumelden.
APP_NOT_INSTALLED
(Fehlercode -5)
Die Anruf-App ist nicht installiert. Etwas stimmt nicht (möglicherweise ein Angriff).
Mögliche Lösung
Keine Aktion möglich. Behandeln Sie das Ergebnis so, als ob der Client alle Integritätsprüfungen nicht bestanden hat.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter APP_NOT_INSTALLED
.
PLAY_SERVICES_NOT_FOUND
(Fehlercode -6)
Die Play-Dienste sind nicht verfügbar oder müssen aktualisiert werden.
Mögliche Lösung
Bitten Sie den Nutzer, die Play-Dienste zu installieren, zu aktualisieren oder zu aktivieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter APP_NOT_INSTALLED
.
APP_UID_MISMATCH
(Fehlercode -7)
Die UID (Nutzer-ID) der aufrufenden App stimmt nicht mit der UID des Paketmanagers überein.
Mögliche Lösung
Keine Aktion möglich. Behandeln Sie das Ergebnis so, als ob der Client alle Integritätsprüfungen nicht bestanden hat.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter APP_UID_MISMATCH
.
CANNOT_BIND_TO_SERVICE
(Fehlercode -9)
Die Bindung an den Dienst im Play Store ist fehlgeschlagen. Das kann daran liegen, dass auf dem Gerät eine alte Play Store-Version installiert ist.
Mögliche Lösung
Bitte den Nutzer, den Google Play Store zu aktualisieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter CANNOT_BIND_TO_SERVICE
.
NONCE_TOO_SHORT
(Fehlercode -10)
Hinweis:Dies wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Die Nonce-Länge ist zu kurz. Die Nonce muss vor der Base64-Codierung mindestens 16 Byte lang sein.
Mögliche Lösung
Versuchen Sie es noch einmal mit einer längeren Nonce.
NONCE_TOO_LONG
(Fehlercode -11)
Hinweis:Dies wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Die Länge der Nonce ist zu lang. Die Nonce muss vor der Base64-Codierung kleiner als 500 Byte sein.
Mögliche Lösung
Versuchen Sie es noch einmal mit einem kürzeren Nonce.
NONCE_IS_NOT_BASE64
(Fehlercode -13)
Hinweis:Dies wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Die Nonce ist nicht als Base64-codierter, websicherer String ohne Zeilenumbruch codiert.
Mögliche Lösung
Versuchen Sie es noch einmal mit einer Nonce im richtigen Format.
PLAY_STORE_VERSION_OUTDATED
(Fehlercode -14)
Die Google Play Store App muss aktualisiert werden.
Mögliche Lösung
Bitte den Nutzer, den Google Play Store zu aktualisieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter PLAY_STORE_VERSION_OUTDATED
.
PLAY_SERVICES_VERSION_OUTDATED
(Fehlercode -15)
Die Google Play-Dienste müssen aktualisiert werden.
Mögliche Lösung
Bitten Sie den Nutzer, die Google Play-Dienste zu aktualisieren.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter PLAY_SERVICES_VERSION_OUTDATED
.
CLOUD_PROJECT_NUMBER_IS_INVALID
(Fehlercode -16)
Die angegebene Cloud-Projektnummer ist ungültig.
Mögliche Lösung
Verwenden Sie die Cloud-Projektnummer für das Cloud-Projekt, für das Sie die Play Integrity API aktiviert haben.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter CLOUD_PROJECT_NUMBER_IS_INVALID
.
REQUEST_HASH_TOO_LONG
(Fehlercode -17)
Hinweis:Dies wird nur gemeldet, wenn Sie eine Standardanfrage über StandardIntegrityErrorCode
verwenden.
Die angegebene requestHash
ist zu lang. Die Länge von requestHash
darf maximal 500 Zeichen betragen.
Mögliche Lösung
Versuchen Sie es noch einmal mit einer kürzeren requestHash
.
INTEGRITY_TOKEN_PROVIDER_INVALID
(Fehlercode -19)
Hinweis:Dies wird nur für Standardanfragen über StandardIntegrityErrorCode
gemeldet.
Die StandardIntegrityTokenProvider
ist nicht mehr gültig.
Das kann passieren, weil der Tokenanbieter abgelaufen ist oder der Nutzer die Daten der Play Store App gelöscht hat, wodurch der Tokenanbieter entfernt wurde.
Dieser Fehlercode ist nur für Standard-API-Anfragen verfügbar. Er wird ab Bibliotheksversion 1.3.0 für die Programmiersprachen Kotlin und Java, das Google Play Integrity Plugin for Unity 1.3.0 oder höher und das Play Core Native SDK 1.13.0 oder höher unterstützt.
Mögliche Lösung
Fordern Sie einen neuen Anbieter von Integritätstokens an.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(Fehlercode -101)
StandardIntegrityManager
ist nicht initialisiert.
Mögliche Lösung
Rufen Sie zuerst StandardIntegrityManager_init()
an.
Siehe auch
Weitere Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INITIALIZATION_NEEDED
.
STANDARD_INTEGRITY_INVALID_ARGUMENT
(Fehlercode -103)
Ungültiges Argument an die Standard Integrity API übergeben.
Mögliche Lösung
Versuchen Sie es noch einmal mit dem richtigen Argument.
Siehe auch
Weitere Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INVALID_ARGUMENT
.