Android-এ Cloud Storage-এর জন্য সমস্যা ম্যানেজ করা

কখনও কখনও পরিকল্পনা অনুযায়ী কাজ হয় না এবং সমস্যা দেখা দেয়।

কোনও সংশয় থাকলে, যে সমস্যাটি হয়েছে সেটি চেক করুন এবং সমস্যার মেসেজে কী বলা হয়েছে তা দেখুন। নিচের কোডটি একটি কাস্টম ত্রুটি হ্যান্ডলার বাস্তবায়ন দেখায় যা Cloud Storage দ্বারা ফেরত দেওয়া ত্রুটি কোড এবং ত্রুটি মেসেজ পরীক্ষা করে। এই ধরনের সমস্যা হ্যান্ডলার Cloud Storage API-তে ব্যবহৃত বিভিন্ন অবজেক্টে যোগ করা যেতে পারে (যেমন, 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 for Firebase-এর জন্য যখন ব্যবহার করবেন তখন পেমেন্ট করুন Blaze প্রাইসিং প্ল্যান প্রয়োজন। আপনি Spark প্রাইসিং প্ল্যান প্রোজেক্টে এই সমস্যা দেখতে পেলে, অ্যাক্সেস ফিরে পেতে আপনাকে Blaze প্রাইসিং প্ল্যানে আপগ্রেড করতে হবে। বিস্তারিত জানতে, আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।
ERROR_NOT_AUTHENTICATED ব্যবহারকারী যাচাই করা হয়নি, যাচাই করে আবার চেষ্টা করুন।
ERROR_NOT_AUTHORIZED অনুরোধ করা অ্যাকশনটি করার জন্য ব্যবহারকারীর কাছে অনুমতি নেই, আপনার নিয়মগুলি সঠিক কিনা তা নিশ্চিত করতে চেক করুন।
ERROR_RETRY_LIMIT_EXCEEDED কোনও অপারেশনের (আপলোড, ডাউনলোড, মুছে ফেলা ইত্যাদি) জন্য সর্বাধিক সময়সীমা পেরিয়ে গেছে। আবার চেষ্টা করুন।
ERROR_INVALID_CHECKSUM ক্লায়েন্টে থাকা ফাইল, সার্ভারের পাওয়া ফাইলের চেকসামের সাথে মিলছে না। আবার আপলোড করার চেষ্টা করে দেখুন।
ERROR_CANCELED ব্যবহারকারী অপারেশন বাতিল করেছেন।

এছাড়াও, ভুল URL দিয়ে getReferenceFromUrl() কল করার চেষ্টা করলে IllegalArgumentException থ্রো করা হবে। উপরের পদ্ধতিতে আর্গুমেন্ট অবশ্যই gs://bucket/object বা https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> ফর্মের হতে হবে