خطاهای مربوط به فضای ذخیره سازی ابری در اندروید را مدیریت کنید

گاهی اوقات همه چیز طبق برنامه پیش نمی‌رود و خطایی رخ می‌دهد.

در صورت شک، خطای برگشتی را بررسی کنید و ببینید پیام خطا چه می‌گوید. کد زیر پیاده‌سازی یک مدیریت‌کننده خطای سفارشی را نشان می‌دهد که کد خطا و پیام خطای برگشتی توسط Cloud Storage را بررسی می‌کند. چنین مدیریت‌کننده‌های خطایی را می‌توان به اشیاء مختلفی که در API Cloud Storage استفاده می‌شوند (به عنوان مثال، UploadTask و 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
    }
}

اگر پیام خطا را بررسی کرده‌اید و Cloud Storage Security Rules شما اجازه اقدام را می‌دهد، اما هنوز در رفع خطا مشکل دارید، از صفحه پشتیبانی ما دیدن کنید و به ما اطلاع دهید که چگونه می‌توانیم کمک کنیم.

مدیریت پیام‌های خطا

دلایل مختلفی برای بروز خطا وجود دارد، از جمله وجود نداشتن فایل، نداشتن مجوز دسترسی کاربر به فایل مورد نظر یا لغو آپلود فایل توسط کاربر.

برای تشخیص صحیح مشکل و مدیریت خطا، در اینجا لیست کاملی از تمام خطاهایی که کلاینت ما ایجاد می‌کند و نحوه‌ی وقوع آنها آمده است. کدهای خطا در این جدول در کلاس StorageException به عنوان ثابت‌های صحیح تعریف شده‌اند.

کد دلیل
ERROR_UNKNOWN خطای ناشناخته‌ای رخ داده است.
ERROR_OBJECT_NOT_FOUND هیچ شیء در مرجع مشخص شده وجود ندارد.
ERROR_BUCKET_NOT_FOUND هیچ باکتی برای Cloud Storage پیکربندی نشده است
ERROR_PROJECT_NOT_FOUND هیچ پروژه‌ای برای Cloud Storage پیکربندی نشده است
ERROR_QUOTA_EXCEEDED سهمیه‌ی موجود در فضای Cloud Storage شما به پایان رسیده است. اگر از طرح قیمت‌گذاری Spark استفاده می‌کنید، ارتقا به طرح قیمت‌گذاری Pay-as-you-go Blaze را در نظر بگیرید. اگر از قبل از طرح قیمت‌گذاری Blaze استفاده می‌کنید، با پشتیبانی Firebase تماس بگیرید.

مهم : از تاریخ ۲ فوریه ۲۰۲۶ ، طرح قیمت‌گذاری Blaze ملزم به استفاده از Cloud Storage ، حتی باکت‌های پیش‌فرض، خواهد بود .
ERROR_NOT_AUTHENTICATED کاربر احراز هویت نشده است، لطفاً احراز هویت کنید و دوباره امتحان کنید.
ERROR_NOT_AUTHORIZED کاربر مجاز به انجام عمل درخواستی نیست، قوانین خود را بررسی کنید تا از صحت آنها اطمینان حاصل کنید.
ERROR_RETRY_LIMIT_EXCEEDED حداکثر محدودیت زمانی برای یک عملیات (آپلود، دانلود، حذف و غیره) لغو شده است. دوباره امتحان کنید.
ERROR_INVALID_CHECKSUM فایل روی کلاینت با مجموع بررسی فایل دریافتی توسط سرور مطابقت ندارد. دوباره آپلود کنید.
ERROR_CANCELED کاربر عملیات را لغو کرد.

علاوه بر این، تلاش برای فراخوانی getReferenceFromUrl() با یک URL نامعتبر منجر به صدور IllegalArgumentException خواهد شد. آرگومان ارسالی به متد فوق باید به شکل gs://bucket/object یا https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> باشد.