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

Bazen işler planlandığı gibi gitmez ve bir hata meydana gelir.

Şüpheye düştüğünüzde, 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şleyicileri, Cloud Storage API'de kullanılan çeşitli nesnelere (örneğin, UploadTask ve FileDownloadTask ) eklenebilir.

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 ettiyseniz ve işleminize izin veren Bulut Depolama Güvenlik Kurallarınız varsa ancak hâlâ hatayı düzeltmekte zorlanıyorsanız Destek sayfamızı ziyaret edin ve nasıl yardımcı olabileceğimizi bize bildirin.

Hata Mesajlarını Yönetme

Dosyanın mevcut olmaması, kullanıcının istenen dosyaya erişim iznine sahip olmaması veya kullanıcının dosya yüklemeyi iptal etmesi gibi hataların oluşmasının çeşitli nedenleri vardır.

Sorunu doğru bir şekilde teşhis etmek ve hatayı gidermek için müşterimizin ortaya çıkaracağı tüm hataların ve bunların nasıl ortaya çıkabileceğinin tam listesini burada bulabilirsiniz. Bu tablodaki hata kodları StorageException sınıfında tamsayı sabitleri olarak tanımlanır.

Kod Sebep
ERROR_UNKNOWN Bilinmeyen bir hata oluştu.
ERROR_OBJECT_NOT_FOUND İstenilen referansta hiçbir nesne mevcut değil.
ERROR_BUCKET_NOT_FOUND Cloud Storage için hiçbir paket yapılandırılmadı
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 bir plana yükseltin. Ücretli bir plan kullanıyorsanız Firebase desteğine ulaşın.
ERROR_NOT_AUTHENTICATED Kullanıcının kimliği doğrulanmadı, lütfen kimlik doğrulamasını yapın ve tekrar deneyin.
ERROR_NOT_AUTHORIZED Kullanıcının istenen eylemi gerçekleştirme yetkisi yok. Doğru olduklarından emin olmak için kurallarınızı kontrol edin.
ERROR_RETRY_LIMIT_EXCEEDED Bir işlemdeki (yükleme, indirme, silme vb.) 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 olacaktır. Yukarıdaki yöntemin argümanı gs://bucket/object veya https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> biçiminde olmalıdır.