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

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

Şüpheye düştüğünüzde, döndürülen hatayı kontrol edin ve hata mesajında ne yazdığına 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'de kullanılan çeşitli nesnelere eklenebilir (örneğin, UploadTask ve 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
    }
}

Hata mesajını kontrol etmenize ve eyleminize izin veren Cloud Storage Güvenlik Kurallarına sahip olmanıza rağmen hatayı düzeltmekte hâlâ zorlanıyorsanız Destek sayfamızı ziyaret ederek size nasıl yardımcı olabileceğimizi bize bildirin.

Hata Mesajlarını İşleme

Hataların oluşmasının birkaç nedeni olabilir. Bu nedenler arasında dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişim izni olmaması veya kullanıcının dosya yüklemeyi iptal etmesi yer alır.

Sorunu doğru şekilde teşhis etmek ve hatayı gidermek için müşterimizin bildireceği tüm hataların tam listesini ve bunların nasıl ortaya çıkabileceklerini 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 İstenen referansta nesne yok.
ERROR_BUCKET_NOT_FOUND Cloud Storage için yapılandırılmış paket yok
ERROR_PROJECT_NOT_FOUND Cloud Storage için hiçbir proje yapılandırılmadı
ERROR_QUOTA_EXCEEDED Cloud Storage paketinizdeki kota aşıldı. Ücretsiz katmandaysanız ücretli plana geçin. Ücretli bir plan kullanıyorsanız Firebase destek ekibiyle iletişime geçin.
ERROR_NOT_AUTHENTICATED Kullanıcının kimliği doğrulanmamış. Lütfen kimliğinizi doğrulayı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 kurallarınızı kontrol edin.
ERROR_RETRY_LIMIT_EXCEEDED Bir işlemdeki maksimum süre sınırı (yükleme, indirme, silme vb.) 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() öğesini geçersiz bir URL ile çağırmaya çalışmak, IllegalArgumentException öğesinin atılması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