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. Umgebungsprobleme wie eine schlechte Netzwerkverbindung, Probleme mit der 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 Wiederholungen
Verwenden Sie den exponentiellen Backoff für Play Integrity-Vorgänge, die im Hintergrund ablaufen und die Nutzerfreundlichkeit nicht beeinträchtigen, während sich der Nutzer in einer Sitzung befindet.
Dies ist beispielsweise sinnvoll, wenn neue Käufe bestätigt werden, da dieser Vorgang im Hintergrund erfolgen kann und die Bestätigung nicht in Echtzeit erfolgen muss, wenn ein Fehler auftritt.
Nach dem ersten Fehler sollten Sie eine anfängliche Verzögerung von 5 Sekunden einlegen, bevor Sie es noch einmal versuchen.
Implementieren Sie eine Wiederholungsstrategie mit einer maximalen Anzahl von Versuchen als Endbedingung, wobei jedes Mal eine exponentiell zunehmende Verzögerung (10 s, 20 s) verwendet wird.
Prüfen Sie während der Wiederholungsversuche, ob eine Netzwerkverbindung besteht, und überlasten Sie das Gerät nicht.
Wenn nach drei Wiederholungsversuchen weiterhin Fehler auftreten, gehen Sie davon aus, dass der Client alle Integritätsprüfungen nicht bestanden hat. Der Fehler kann verschiedene Ursachen haben, z. B. ein überlastetes Gerät, Netzwerkverbindungsprobleme oder ein Angriff.
Werte für Fehlercodes der Java-Bibliothek
Zusätzliche Werte für Fehlercodes der nativen Bibliothek
Fehlercodes, die wiederholt werden können
Die Ursache dieser Fehler liegt manchmal an vorübergehenden Bedingungen. Versuchen Sie daher, den Aufruf noch einmal auszuführen.
NETWORK_ERROR
(Fehlercode -3)
Dieser Fehler gibt an, dass ein Problem mit der Netzwerkverbindung zwischen dem Gerät und den Play-Systemen vorliegt.
Mögliche Lösung
Bitte den Nutzer, die Netzwerkverbindung zu prüfen und je nach Aktion, die den Fehler ausgelöst hat, einfache Wiederholungen oder exponentielles Backoff zu verwenden.
Siehe auch
NETWORK_ERROR
für klassische Anfragen.
TOO_MANY_REQUESTS
(Fehlercode -8)
Die aufrufende App stellt 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 das Problem immer wieder auftritt, melden Sie den Fehler.
Siehe auch
GOOGLE_SERVER_UNAVAILABLE
für klassische Anfragen.
CLIENT_TRANSIENT_ERROR
(Fehlercode -18)
Ein vorübergehender Fehler ist auf dem Clientgerät aufgetreten.
Für Standard-API-Anfragen wird dies ab Version 1.3.0 der Play Integrity API-Bibliothek für Kotlin und Java, dem Google Play Integrity-Plug-in für Unity 1.3.0 oder höher und dem 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 der Fehler bei einer Classic API-Anfrage auftritt, wird der Wert -17 zurückgegeben.
INTERNAL_ERROR
(Fehlercode -100)
Unbekannter interner Fehler.
Mögliche Lösung
Wiederholen Sie den Vorgang mit exponentiellem Backoff. Wenn der Fehler immer wieder auftritt, sollten Sie einen Fehler melden.
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 Fehler immer wieder auftritt, sollten Sie einen Fehler melden.
Siehe auch
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 Fehler immer wieder auftritt, sollten Sie einen Fehler melden.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INITIALIZATION_FAILED
.
Nicht wiederholbare Fehlercodes
Automatische Wiederholungen helfen in diesen Fällen wahrscheinlich nicht weiter. Ein manueller Neuversuch kann jedoch hilfreich sein, wenn der Nutzer die Ursache des Problems behebt. Wenn der Nutzer beispielsweise seine Play Store-Version auf eine unterstützte Version aktualisiert, kann ein manueller Neuversuch des ursprünglichen Vorgangs funktionieren.
API_NOT_AVAILABLE
(Fehlercode -1)
Die auf dem Gerät installierte Play Store-Version ist möglicherweise veraltet und die Integrity API ist nicht verfügbar. Möglicherweise ist die Integrity API auch nicht in der Google Play Console aktiviert.
Mögliche Lösung
- Die Integrity API muss in der Google Play Console aktiviert sein.
- Bitte den Nutzer, den Play Store zu aktualisieren.
Siehe auch
Klassische Anfrage: 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
Klassische Anfrage: PLAY_STORE_NOT_FOUND
PLAY_STORE_ACCOUNT_NOT_FOUND
(Fehlercode -4)
Hinweis:Dieser Fehler 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 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, die App zu aktualisieren und sich im Google Play Store anzumelden.
APP_NOT_INSTALLED
(Fehlercode -5)
Die Anruf-App ist nicht installiert. Ein Fehler ist aufgetreten (möglicherweise ein Angriff).
Mögliche Lösung
Keine Maßnahme möglich. Behandeln Sie das Ergebnis so, als hätte der Client alle Integritätsprüfungen nicht bestanden.
Siehe auch
Klassische Anfrage: 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
Klassische Anfrage: APP_NOT_INSTALLED
APP_UID_MISMATCH
(Fehlercode -7)
Die UID (Nutzer-ID) der anrufenden App stimmt nicht mit der des Paketmanagers überein.
Mögliche Lösung
Keine Maßnahme möglich. Behandeln Sie das Ergebnis so, als hätte der Client alle Integritätsprüfungen nicht bestanden.
Siehe auch
Klassische Anfrage: APP_UID_MISMATCH
CANNOT_BIND_TO_SERVICE
(Fehlercode -9)
Die Bindung an den Dienst im Play Store ist fehlgeschlagen. Möglicherweise ist auf dem Gerät eine alte Play Store-Version installiert.
Mögliche Lösung
Bitte den Nutzer, den Google Play Store zu aktualisieren.
Siehe auch
Klassische Anfrage: CANNOT_BIND_TO_SERVICE
NONCE_TOO_SHORT
(Fehlercode -10)
Hinweis:Dieser Fehler 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 einem längeren Nonce.
NONCE_TOO_LONG
(Fehlercode -11)
Hinweis:Dieser Fehler wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Die Nonce-Länge 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:Dieser Fehler wird nur für klassische Anfragen über IntegrityErrorCode
gemeldet.
Die Nonce ist nicht als websicherer Base64-String ohne Umbruch codiert.
Mögliche Lösung
Versuche es noch einmal mit einem 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
Klassische Anfrage: 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
Klassische Anfrage: 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 des Cloud-Projekts, für das Sie die Play Integrity API aktiviert haben.
Siehe auch
Klassische Anfrage: CLOUD_PROJECT_NUMBER_IS_INVALID
REQUEST_HASH_TOO_LONG
(Fehlercode -17)
Hinweis:Dieser Fehler wird nur bei Verwendung einer Standardanfrage über StandardIntegrityErrorCode
gemeldet.
Die angegebene requestHash
ist zu lang. Die Länge von requestHash
darf 500 Zeichen nicht überschreiten.
Mögliche Lösung
Versuchen Sie es noch einmal mit einer kürzeren requestHash
.
INTEGRITY_TOKEN_PROVIDER_INVALID
(Fehlercode -19)
Hinweis:Dieser Fehler wird nur für Standardanfragen über StandardIntegrityErrorCode
gemeldet.
StandardIntegrityTokenProvider
ist ungültig. 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 für 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 für Integritätstokens an.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(Fehlercode -101)
StandardIntegrityManager
wurde nicht initialisiert.
Mögliche Lösung
Rufen Sie zuerst StandardIntegrityManager_init()
an.
Siehe auch
Klassische Anfragen: 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
Für klassische Anfragen siehe INTEGRITY_INVALID_ARGUMENT
.