Gestire gli errori di Cloud Storage su Android

A volte le cose non vanno come previsto e si verifica un errore.

In caso di dubbi, controlla l'errore restituito e il messaggio di errore. Il seguente codice mostra un'implementazione del gestore di errori personalizzato che esamina il codice di errore e il messaggio di errore restituiti da Cloud Storage. Questi gestori di errori possono essere aggiunti a vari oggetti utilizzati nell'API Cloud Storage (ad esempio, UploadTask e FileDownloadTask).

Kotlin

internal inner class MyFailureListener : OnFailureListener {
    override fun onFailure(exception: Exception) {
        val errorCode = (exception as StorageException).errorCode
        val errorMessage = exception.message
        // test the errorCode and errorMessage, and handle accordingly
    }
}

Java

class MyFailureListener implements OnFailureListener {
    @Override
    public void onFailure(@NonNull Exception exception) {
        int errorCode = ((StorageException) exception).getErrorCode();
        String errorMessage = exception.getMessage();
        // test the errorCode and errorMessage, and handle accordingly
    }
}

Se hai controllato il messaggio di errore e disponi di Cloud Storage Security Rules che ti consentono di eseguire l'azione, ma hai ancora difficoltà a risolvere l'errore, visita la nostra pagina di assistenza e comunicaci come possiamo aiutarti.

Gestire i messaggi di errore

Esistono diversi motivi per cui potrebbero verificarsi errori, tra cui il file non esistente, l'utente che non dispone dell'autorizzazione per accedere al file desiderato o l'utente che annulla il caricamento del file.

Per diagnosticare correttamente il problema e gestire l'errore, ecco un elenco completo di tutti gli errori che il nostro client segnalerà e come possono verificarsi. I codici di errore in questa tabella sono definiti nella classe StorageException come costanti intere.

Codice Motivo
ERROR_UNKNOWN Si è verificato un errore sconosciuto.
ERROR_OBJECT_NOT_FOUND Non esiste alcun oggetto nel riferimento specificato.
ERROR_BUCKET_NOT_FOUND Nessun bucket configurato per Cloud Storage
ERROR_PROJECT_NOT_FOUND Nessun progetto è configurato per Cloud Storage
ERROR_QUOTA_EXCEEDED La quota del bucket Cloud Storage è stata superata. Se hai il piano tariffario Spark, valuta l'upgrade al piano tariffario Blaze con pagamento a consumo. Se hai già scelto il piano tariffario Blaze, contatta l'assistenza Firebase.

Importante: a partire dal 1° ottobre 2025, il piano tariffario Blaze sarà obbligatorio per utilizzare Cloud Storage, anche i bucket predefiniti.
ERROR_NOT_AUTHENTICATED L'utente non è autenticato. Esegui l'autenticazione e riprova.
ERROR_NOT_AUTHORIZED L'utente non è autorizzato a eseguire l'azione richiesta. Controlla le regole per assicurarti che siano corrette.
ERROR_RETRY_LIMIT_EXCEEDED È stato superato il limite di tempo massimo per un'operazione (caricamento, download, eliminazione e così via). Riprova.
ERROR_INVALID_CHECKSUM Il file sul client non corrisponde al checksum del file ricevuto dal server. Prova a caricarlo di nuovo.
ERROR_CANCELED L'utente ha annullato l'operazione.

Inoltre, il tentativo di chiamare getReferenceFromUrl() con un URL non valido comporterà la generazione di un IllegalArgumentException. L'argomento del metodo precedente deve essere nel formato gs://bucket/object o https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>