Wenn eine App eine Anfrage über die Play Integrity API sendet und der Aufruf fehlschlägt, wird ein Fehlercode zurückgegeben. Die Art des zurückgegebenen Fehlercodes hängt vom Typ der Anfrage ab:
- Standardanfragen: Die API gibt einen StandardIntegrityErrorCode zurück.
- Klassische Anfragen: Die API gibt einen IntegrityErrorCode zurück.
Wiederholungsstrategien
Wir empfehlen die Verwendung des exponentiellen Backoffs für Play Integrity-Vorgänge, die im Hintergrund ausgeführt werden und die Nutzererfahrung während der Sitzung des Nutzers nicht beeinträchtigen.
Es ist beispielsweise sinnvoll, dies beim Bestätigen neuer Käufe zu implementieren, da dieser Vorgang im Hintergrund ausgeführt werden 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 Exit-Bedingung mit einer exponentiell erhöhten Verzögerung jedes Mal (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 angezeigt werden, behandeln Sie das Ergebnis so, als hätte der Client alle Integritätsprüfungen nicht bestanden. Für diesen Fehler kann es verschiedene Ursachen geben, unter anderem durch ein überlastetes Gerät, Probleme mit der Netzwerkverbindung oder den Versuch eines Angreifers.
Fehlercodewerte für die Java-Bibliothek
Zusätzliche Fehlercodewerte für die native Bibliothek
Wiederholbare Fehlercodes
Die Ursache dieser Fehler ist manchmal auf vorübergehende Bedingungen zurückzuführen. Daher sollten Sie den Aufruf wiederholen.
NETWORK_ERROR
(Fehlercode -3)
Dieser Fehler weist auf ein Problem mit der Netzwerkverbindung zwischen dem Gerät und den Play-Systemen hin.
Mögliche Lösung
Bitten Sie den Nutzer zur Wiederherstellung, die Netzwerkverbindung zu prüfen und einfache Wiederholungsversuche oder einen exponentiellen Backoff zu verwenden, 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
- Anfrage zur Erhöhung des täglichen Maximums von Anfragen
- Wiederholen Sie den Vorgang mit einem exponentiellen 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 einem exponentiellen Backoff. Wenn ein Fehler wiederholt auftritt, sollten Sie einen Programmfehler melden.
Siehe auch
GOOGLE_SERVER_UNAVAILABLE
für klassische Anfragen.
CLIENT_TRANSIENT_ERROR
(Fehlercode -18)
Auf dem Clientgerät ist ein vorübergehender Fehler aufgetreten.
Bei 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 einem exponentiellen Backoff.
Siehe auch
CLIENT_TRANSIENT_ERROR
für klassische Anfragen.
Hinweis:Wenn die Meldung über eine klassische API-Anfrage erstellt wird, wird der Wert -17 zurückgegeben.
INTERNAL_ERROR
(Fehlercode -100)
Unbekannter interner Fehler.
Mögliche Lösung
Wiederholen Sie den Vorgang mit einem exponentiellen Backoff. Sie sollten einen Fehler melden, wenn er wiederholt fehlschlägt.
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 einem exponentiellen Backoff. Sie sollten einen Fehler melden, wenn er wiederholt fehlschlägt.
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 einem exponentiellen Backoff. Sie sollten einen Fehler melden, wenn er wiederholt fehlschlägt.
Siehe auch
Informationen zu klassischen Anfragen finden Sie unter INTEGRITY_INITIALIZATION_FAILED
.
Nicht wiederholbare Fehlercodes
In diesen Fällen sind automatische Wiederholungsversuche unwahrscheinlich. Ein manueller Versuch 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 der erste Vorgang manuell wiederholt werden.
API_NOT_AVAILABLE
(Fehlercode -1)
Die auf dem Gerät installierte Play Store-Version ist möglicherweise alt und die Integrity API nicht verfügbar. Es kann auch sein, 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
Die klassische Anfrage finden Sie unter API_NOT_AVAILABLE
.
PLAY_STORE_NOT_FOUND
(Fehlercode -2)
Auf diesem 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
Die klassische Anfrage finden Sie unter PLAY_STORE_NOT_FOUND
.
PLAY_STORE_ACCOUNT_NOT_FOUND
(Fehlercode -4)
Hinweis:Dies wird nur für klassische Anfragen bis 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 keine Unterstützung bieten.
Mögliche Lösung
Bitten Sie 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 Aktion möglich. Behandeln Sie das Ergebnis so, als hätte der Client alle Integritätsprüfungen nicht bestanden.
Siehe auch
Die klassische Anfrage finden Sie unter APP_NOT_INSTALLED
.
PLAY_SERVICES_NOT_FOUND
(Fehlercode -6)
Play-Dienste sind nicht verfügbar oder müssen aktualisiert werden.
Mögliche Lösung
Bitten Sie den Nutzer, Play-Dienste zu installieren, zu aktualisieren oder zu aktivieren.
Siehe auch
Die klassische Anfrage finden Sie unter APP_NOT_INSTALLED
.
APP_UID_MISMATCH
(Fehlercode -7)
Die UID der aufrufenden App (Nutzer-ID) stimmt nicht mit der UID aus dem Paketmanager überein.
Mögliche Lösung
Keine Aktion möglich. Behandeln Sie das Ergebnis so, als hätte der Client alle Integritätsprüfungen nicht bestanden.
Siehe auch
Die klassische Anfrage finden Sie unter APP_UID_MISMATCH
.
CANNOT_BIND_TO_SERVICE
(Fehlercode -9)
Die Bindung an den Dienst im Play Store ist fehlgeschlagen. Dies kann daran liegen, dass eine alte Play Store-Version auf dem Gerät installiert ist.
Mögliche Lösung
Bitten Sie den Nutzer, den Google Play Store zu aktualisieren.
Siehe auch
Die klassische Anfrage finden Sie unter CANNOT_BIND_TO_SERVICE
.
NONCE_TOO_SHORT
(Fehlercode -10)
Hinweis:Dies wird nur für klassische Anfragen bis IntegrityErrorCode
gemeldet.
Nonce ist zu kurz. Die Nonce muss vor der base64-Codierung mindestens 16 Byte groß sein.
Mögliche Lösung
Versuchen Sie es mit einer längeren Nonce noch einmal.
NONCE_TOO_LONG
(Fehlercode -11)
Hinweis:Dies wird nur für klassische Anfragen bis IntegrityErrorCode
gemeldet.
Nonce ist zu lang. Die Nonce muss kleiner als 500 Byte vor der base64-Codierung sein.
Mögliche Lösung
Versuchen Sie es mit einer kürzeren Nonce.
NONCE_IS_NOT_BASE64
(Fehlercode -13)
Hinweis:Dies wird nur für klassische Anfragen bis IntegrityErrorCode
gemeldet.
Nonce ist nicht als websicherer base64-Kein-Wrapping-String codiert.
Mögliche Lösung
Wiederholen Sie den Vorgang mit einer Nonce im richtigen Format.
PLAY_STORE_VERSION_OUTDATED
(Fehlercode -14)
Die Google Play Store App muss aktualisiert werden.
Mögliche Lösung
Bitten Sie den Nutzer, den Google Play Store zu aktualisieren.
Siehe auch
Die klassische Anfrage 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
Die klassische Anfrage 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
Die klassische Anfrage finden Sie unter CLOUD_PROJECT_NUMBER_IS_INVALID
.
REQUEST_HASH_TOO_LONG
(Fehlercode -17)
Hinweis: Dieser Fehler wird nur bei Verwendung der Standardanfrage über StandardIntegrityErrorCode
gemeldet.
Der angegebene Wert für requestHash
ist zu lang. Die Länge von requestHash
muss unter 500 Zeichen liegen.
Mögliche Lösung
Versuche es mit einem kürzeren requestHash
.
INTEGRITY_TOKEN_PROVIDER_INVALID
(Fehlercode -19)
Hinweis:Dies wird nur für Standardanfragen bis StandardIntegrityErrorCode
gemeldet.
StandardIntegrityTokenProvider
ist ungültig. Dieser Fehlercode ist nur für Standard-API-Anfragen verfügbar, wenn er ab Bibliotheksversion 1.3.0 für die Programmiersprachen Kotlin und Java, das Google Play Integrity Plug-in für Unity 1.3.0 und höher und das Play Core Native SDK 1.13.0 oder höher unterstützt wird.
Mögliche Lösung
Fordern Sie einen neuen Integritätstoken-Anbieter an.
STANDARD_INTEGRITY_INITIALIZATION_NEEDED
(Fehlercode -101)
StandardIntegrityManager
wurde nicht initialisiert.
Mögliche Lösung
Rufen Sie zuerst StandardIntegrityManager_init()
an.
Siehe auch
Siehe INTEGRITY_INITIALIZATION_NEEDED
für klassische Anfragen
STANDARD_INTEGRITY_INVALID_ARGUMENT
(Fehlercode -103)
Ein ungültiges Argument wurde an die Standard Integrity API übergeben.
Mögliche Lösung
Versuchen Sie es noch einmal mit dem richtigen Argument.
Siehe auch
Siehe INTEGRITY_INVALID_ARGUMENT
für klassische Anfragen.