Android पर Cloud Storage से जुड़ी गड़बड़ियां ठीक करना

कभी-कभी चीज़ें प्लान के मुताबिक नहीं होती हैं और कोई गड़बड़ी हो जाती है.

जब आपको पता न हो कि गड़बड़ी का मैसेज क्या है, तो देखें कि क्या गड़बड़ी हुई है. इसके बाद, देखें कि क्या गड़बड़ी का मैसेज मिला है. इस कोड में, कस्टम एरर हैंडलर को लागू करने का तरीका दिखाया गया है. यह Cloud Storage से मिले गड़बड़ी कोड और गड़बड़ी के मैसेज की जांच करता है. इस तरह के एरर हैंडलर, Cloud Storage API में इस्तेमाल किए जाने वाले अलग-अलग ऑब्जेक्ट में जोड़े जा सकते हैं (जैसे, UploadTask और 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
    }
}

अगर आपने गड़बड़ी का मैसेज देख लिया है और Cloud Storage के सुरक्षा नियमों के आधार पर कार्रवाई की जा सकती है, लेकिन फिर भी उसे ठीक करने में समस्या आ रही है, तो हमारे सहायता पेज पर जाएं और हमें बताएं कि हम आपकी किस तरह मदद कर सकते हैं.

गड़बड़ी के मैसेज हैंडल करना

गड़बड़ियां होने की कई वजहें हो सकती हैं. जैसे, फ़ाइल मौजूद नहीं है, उपयोगकर्ता का अपनी पसंद की फ़ाइल ऐक्सेस करने की अनुमति नहीं है या उपयोगकर्ता का फ़ाइल अपलोड रद्द कर दिया गया है.

समस्या का सही तरीके से पता लगाने और उसे ठीक करने के लिए, यहां उन सभी गड़बड़ियों की सूची दी गई है जो हमारे क्लाइंट की वजह से हो सकती हैं. साथ ही, यह भी बताया गया है कि वे कैसे हो सकती हैं. इस टेबल में मौजूद गड़बड़ी कोड को 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 सहायता टीम से संपर्क करें.
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> फ़ॉर्मैट में होना चाहिए