Fehler bei Cloud Storage unter Android beheben

Manchmal läuft es nicht wie geplant und es tritt ein Fehler auf.

Im Zweifelsfall solltest du den zurückgegebenen Fehler prüfen und dir die Fehlermeldung ansehen. Im folgenden Code wird eine benutzerdefinierte Fehlerbehandlung implementiert, die den von Cloud Storage zurückgegebenen Fehlercode und die Fehlermeldung prüft. Solche Fehlerhandler können verschiedenen Objekten hinzugefügt werden, die in der Cloud Storage API verwendet werden (z. B. UploadTask und FileDownloadTask).

Kotlin+KTX

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
    }
}

Wenn Sie die Fehlermeldung überprüft haben und Cloud Storage Security Rules für die Aktion haben, die Aktion aber weiterhin nicht ausgeführt werden kann, rufen Sie unsere Supportseite auf und teilen Sie uns mit, wie wir Ihnen helfen können.

Fehlermeldungen verarbeiten

Es kann verschiedene Gründe für Fehler geben, z. B. dass die Datei nicht vorhanden ist, der Nutzer keine Berechtigung zum Zugriff auf die gewünschte Datei hat oder der Nutzer den Dateiupload abbricht.

Damit du das Problem richtig diagnostizieren und den Fehler beheben kannst, findest du hier eine vollständige Liste aller Fehler, die unser Kunde meldet, und wie sie auftreten können. Die Fehlercodes in dieser Tabelle sind in der Klasse StorageException als Ganzzahlkonstanten definiert.

Code Grund
ERROR_UNKNOWN Ein unbekannter Fehler ist aufgetreten.
ERROR_OBJECT_NOT_FOUND An der angegebenen Referenz befindet sich kein Objekt.
ERROR_BUCKET_NOT_FOUND Für Cloud Storage ist kein Bucket konfiguriert
ERROR_PROJECT_NOT_FOUND Für Cloud Storage ist kein Projekt konfiguriert
ERROR_QUOTA_EXCEEDED Das Kontingent für Ihren Bucket Cloud Storage wurde überschritten. Wenn Sie den Spark-Tarif nutzen, sollten Sie ein Upgrade auf den Blaze-Tarif (Pay as you go) in Betracht ziehen. Wenn Sie bereits den Blaze-Tarif nutzen, wenden Sie sich an den Firebase-Support.

Wichtig: Ab dem 1. Oktober 2025 ist der Blaze-Tarif erforderlich, um Cloud Storage zu verwenden, auch Standard-Buckets.
ERROR_NOT_AUTHENTICATED Der Nutzer ist nicht authentifiziert. Bitte authentifizieren Sie sich und versuchen Sie es noch einmal.
ERROR_NOT_AUTHORIZED Der Nutzer ist nicht berechtigt, die angeforderte Aktion auszuführen. Prüfen Sie Ihre Regeln, um sicherzustellen, dass sie korrekt sind.
ERROR_RETRY_LIMIT_EXCEEDED Das maximale Zeitlimit für einen Vorgang (z. B. Upload, Download oder Löschen) wurde überschritten. Bitte versuchen Sie es noch einmal.
ERROR_INVALID_CHECKSUM Die Datei auf dem Client stimmt nicht mit der Prüfsumme der vom Server empfangenen Datei überein. Versuchen Sie es noch einmal.
ERROR_CANCELED Vorgang wurde vom Nutzer abgebrochen.

Außerdem wird ein IllegalArgumentException geworfen, wenn versucht wird, getReferenceFromUrl() mit einer ungültigen URL aufzurufen. Das Argument für die obige Methode muss das Format gs://bucket/object oder https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> haben.