In questa pagina sono elencati alcuni codici di errore comuni, ciò che rappresentano e la possibile risposta all'app o al gioco.
Codice di errore | Descrizione | La tua azione |
---|---|---|
API_NOT_AVAILABLE |
L'API Integrity non è disponibile. L'API Integrity non è abilitata oppure la versione del Play Store potrebbe essere obsoleta. | 1) Assicurati che l'API Play Integrity sia attivata in Google Play Console. 2) Chiedi all'utente di aggiornare il Google Play Store. |
NETWORK_ERROR |
Nessuna rete disponibile trovata. | Chiedi all'utente di verificare la connettività di rete. |
PLAY_STORE_NOT_FOUND |
Sul dispositivo non è stata trovata alcuna app ufficiale del Play Store. | Chiedi all'utente di installare o attivare il Google Play Store. |
PLAY_STORE_VERSION_OUTDATED |
L'app Play Store deve essere aggiornata. | Chiedi all'utente di aggiornare il Google Play Store. |
PLAY_STORE_ACCOUNT_NOT_FOUND |
Nessun account Play Store trovato sul dispositivo. Tieni presente che ora l'API Play Integrity supporta le richieste non autenticate. Questo codice di errore viene utilizzato soltanto per le versioni meno recenti del Play Store che non sono supportate. | Chiedi all'utente di accedere al Google Play Store. |
CANNOT_BIND_TO_SERVICE |
Associazione al servizio nel Play Store non riuscita. Ciò può essere dovuto all'installazione di una versione precedente del Play Store sul dispositivo. | Chiedi all'utente di aggiornare il Google Play Store. |
APP_NOT_INSTALLED |
L'app per le chiamate non è installata. | Si è verificato un problema, probabilmente un attacco. Non utilizzabile. |
PLAY_SERVICES_NOT_FOUND |
Play Services non è disponibile o deve essere aggiornato. | Chiedi all'utente di installare o attivare Play Services. |
PLAY_SERVICES_VERSION_OUTDATED |
Play Services deve essere aggiornato. | Chiedi all'utente di aggiornare Google Play Services. |
TOO_MANY_REQUESTS |
L'app di chiamata sta effettuando troppe richieste all'API ed è stata limitata. |
|
REQUEST_HASH_TOO_LONG |
Il valore requestHash fornito è troppo lungo. La lunghezza di requestHash deve essere inferiore a 500 caratteri. |
Riprova con un requestHash più breve. |
GOOGLE_SERVER_UNAVAILABLE |
Errore sconosciuto del server Google interno. | Riprova con un backoff esponenziale. |
CLIENT_TRANSIENT_ERROR |
Si è verificato un errore temporaneo sul dispositivo client. Per le richieste API standard, questa funzionalità è supportata a partire dalla versione 1.3.0 della libreria per i linguaggi di programmazione Kotlin e Java, dal plug-in Google Play Integrity per Unity 1.3.0 o versioni successive e dall'SDK nativo di Play Core 1.13.0 o versioni successive. | |
INTERNAL_ERROR |
Errore interno sconosciuto. | Riprova con un backoff esponenziale. |
NONCE_TOO_SHORT |
La lunghezza del nonce è troppo corta. Il nonce deve avere una dimensione minima di 16 byte (prima della codifica Base64). | Riprova con un nonce più lungo. |
NONCE_TOO_LONG |
La lunghezza del nonce è troppo lunga. Il nonce deve essere inferiore a 500 byte prima della codifica Base64. | Riprova con un nonce più breve. |
NONCE_IS_NOT_BASE64 |
Il formato Nonce non è in un modulo senza wrapping base64 sicuro per il web. | Riprova utilizzando il formato nonce corretto. |
CLOUD_PROJECT_NUMBER_IS_INVALID |
Il numero di progetto cloud fornito non è valido. | Usa il numero di progetto Cloud per il progetto Cloud per cui hai abilitato l'API Play Integrity. |
APP_UID_MISMATCH |
L'UID (User ID) dell'app per le chiamate non corrisponde a quello di Gestione pacchetti. | Si è verificato un problema, probabilmente un attacco. Non utilizzabile. |
INTEGRITY_TOKEN_PROVIDER_INVALID |
Il campo StandardIntegrityTokenProvider non è valido. Questo codice di errore è disponibile soltanto per le richieste API standard, che supportano a partire dalla versione della libreria 1.3.0 per i linguaggi di programmazione Kotlin e Java, il plug-in Google Play Integrity per Unity 1.3.0 o versioni successive e l'SDK nativo di Play Core 1.13.0 o versioni successive. |
Richiedi un nuovo provider di token di integrità. |
Codici di errore specifici per gli annunci nativi
Il prefisso INTEGRITY_
viene anteposto ai codici di errore nativi per evitare potenziali conflitti di denominazione. Oltre ai codici di errore elencati sopra, l'API nativa include anche i seguenti codici di errore:
Codice di errore | Descrizione | La tua azione |
---|---|---|
INTEGRITY_INITIALIZATION_NEEDED |
IntegrityManager non è inizializzato. | Richiama prima IntegrityManager_init(). |
INTEGRITY_INITIALIZATION_FAILED |
Si è verificato un errore durante l'inizializzazione dell'API Integrity. | Riprova con un backoff esponenziale. Valuta la possibilità di segnalare un bug. |
INTEGRITY_INVALID_ARGUMENT |
Argomento non valido passato all'API Integrity. | Riprova con l'argomento corretto. |
Riprova logica in caso di errore
Un'app deve riprovare le chiamate API in caso di determinati codici di errore. Esamina tutti i codici di errore e controlla che l'applicazione esegua un nuovo tentativo quando necessario con un backoff esponenziale. La strategia consigliata per i nuovi tentativi è:
- Dopo il primo errore, inizia con un ritardo iniziale di 5 secondi prima di riprovare.
- Riprova per un totale di tre tentativi, aumentando il ritardo in modo esponenziale ogni volta (10 s, 20 s).
Durante l'esecuzione di questi nuovi tentativi, verifica la presenza di una connessione di rete e non sovraccaricare il dispositivo.
Se continui a visualizzare errori dopo tre tentativi, considera il risultato come se il client non abbia superato tutti i controlli di integrità. L'errore può essere dovuto a diversi motivi, inclusi, a titolo esemplificativo, un dispositivo sovraccarico, problemi di connessione di rete o un tentativo di un utente malintenzionato.