Android'de Cloud Storage hatalarını işleme

Bazen işler planlandığı gibi gitmez ve bir hata oluşur.

Şüphe duyduğunuzda döndürülen hatayı kontrol edin ve hata mesajının ne söylediğine bakın. Aşağıdaki kod, Cloud Storage tarafından döndürülen hata kodunu ve hata mesajını inceleyen özel bir hata işleyici uygulamasını gösterir. Bu tür hata işleyiciler, Cloud Storage API'sinde kullanılan çeşitli nesnelere (örneğin, UploadTask ve FileDownloadTask) eklenebilir.

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

Hata mesajını kontrol ettiyseniz ve işleminize izin veren Cloud Storage Security Rules olmasına rağmen hatayı düzeltmekte zorlanıyorsanız destek sayfamızı ziyaret ederek size nasıl yardımcı olabileceğimizi bildirin.

Hata Mesajlarını İşleme

Hataların oluşmasının çeşitli nedenleri vardır. Örneğin, dosya mevcut olmayabilir, kullanıcının istenen dosyaya erişme izni olmayabilir veya kullanıcı dosya yüklemeyi iptal etmiş olabilir.

Sorunu doğru şekilde teşhis etmek ve hatayı gidermek için müşterimizin bildireceği tüm hataların ve bu hataların nasıl oluşabileceğinin tam listesini aşağıda bulabilirsiniz. Bu tablodaki hata kodları, StorageException sınıfında tam sayı sabitleri olarak tanımlanır.

Kod Neden
ERROR_UNKNOWN Bilinmeyen bir hata oluştu.
ERROR_OBJECT_NOT_FOUND Belirtilen referansta nesne yok.
ERROR_BUCKET_NOT_FOUND Cloud Storage için yapılandırılmış bir paket yok
ERROR_PROJECT_NOT_FOUND Cloud Storage için yapılandırılmış proje yok
ERROR_QUOTA_EXCEEDED Cloud Storage paketinizdeki kota aşıldı. Spark fiyatlandırma planını kullanıyorsanız kullandıkça öde Blaze fiyatlandırma planına geçmeyi düşünebilirsiniz. Blaze fiyatlandırma planını kullanıyorsanız Firebase Destek Ekibi ile iletişime geçin.

Önemli: 1 Ekim 2025'ten itibaren Cloud Storage (varsayılan paketler dahil) kullanmak için Blaze fiyatlandırma planı gerekli olacak.
ERROR_NOT_AUTHENTICATED Kullanıcının kimliği doğrulanmadı. Lütfen kimlik doğrulama işlemini yapıp tekrar deneyin.
ERROR_NOT_AUTHORIZED Kullanıcının istenen işlemi gerçekleştirme yetkisi yok. Kurallarınızın doğru olduğundan emin olmak için bunları kontrol edin.
ERROR_RETRY_LIMIT_EXCEEDED Bir işlemle (yükleme, indirme, silme vb.) ilgili maksimum süre sınırı aşıldı. Tekrar deneyin.
ERROR_INVALID_CHECKSUM İstemcideki dosya, sunucu tarafından alınan dosyanın sağlama toplamıyla eşleşmiyor. Tekrar yüklemeyi deneyin.
ERROR_CANCELED Kullanıcı, işlemi iptal etti.

Ayrıca, getReferenceFromUrl() işlevini geçersiz bir URL ile çağırmaya çalışmak IllegalArgumentException hatasının oluşmasına neden olur. Yukarıdaki yöntemin bağımsız değişkeni gs://bucket/object veya https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> biçiminde olmalıdır.