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 बकेट का कोटा पूरा हो गया है. अगर आपने स्पार्क प्लान लिया है, तो 'इस्तेमाल के हिसाब से शुल्क चुकाएं' वाले ब्लेज़ प्लान पर अपग्रेड करने के बारे में सोचें. अगर आपने पहले से ही ब्लेज़ प्लान लिया है, तो Firebase की सहायता टीम से संपर्क करें.

अहम जानकारी: 3 फ़रवरी, 2026 से Cloud Storage का इस्तेमाल करने के लिए, ब्लेज़ प्लान ज़रूरी होगा. भले ही, डिफ़ॉल्ट बकेट का इस्तेमाल किया जा रहा हो.
Cloud Storage
ERROR_NOT_AUTHENTICATED उपयोगकर्ता की पहचान की पुष्टि नहीं हुई है. कृपया पहचान की पुष्टि करें और फिर से कोशिश करें.
ERROR_NOT_AUTHORIZED उपयोगकर्ता के पास अनुरोध की गई कार्रवाई करने की अनुमति नहीं है. यह पक्का करने के लिए कि आपके नियम सही हैं, उन्हें देखें.
ERROR_RETRY_LIMIT_EXCEEDED किसी कार्रवाई (अपलोड, डाउनलोड, मिटाना वगैरह) के लिए तय की गई समयसीमा खत्म हो गई है. फिर से कोशिश करें.
ERROR_INVALID_CHECKSUM क्लाइंट पर मौजूद फ़ाइल का चेकसम, सर्वर से मिली फ़ाइल के चेकसम से मेल नहीं खाता. फिर से अपलोड करें.
ERROR_CANCELED उपयोगकर्ता ने कार्रवाई रद्द कर दी है.

इसके अलावा, अमान्य यूआरएल के साथ getReferenceFromUrl() को कॉल करने की कोशिश करने पर, IllegalArgumentException दिखेगा. ऊपर दिए गए तरीके का आर्ग्युमेंट, gs://bucket/object या https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> फ़ॉर्मैट में होना चाहिए