Codici di errore

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.
  1. Richiedi di aumentare il numero massimo giornaliero di richieste
  2. Riprova con un backoff esponenziale.
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 è:

  1. Dopo il primo errore, inizia con un ritardo iniziale di 5 secondi prima di riprovare.
  2. 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.