एंड्रॉइड पर क्लाउड स्टोरेज के साथ शुरुआत करें

फायरबेस के लिए क्लाउड स्टोरेज आपको छवियों और वीडियो जैसी उपयोगकर्ता द्वारा उत्पन्न सामग्री को अपलोड और साझा करने की सुविधा देता है, जो आपको अपने ऐप्स में समृद्ध मीडिया सामग्री बनाने की अनुमति देता है। आपका डेटा Google क्लाउड स्टोरेज बकेट में संग्रहीत है - उच्च उपलब्धता और वैश्विक अतिरेक के साथ एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान। फायरबेस के लिए क्लाउड स्टोरेज आपको इन फ़ाइलों को सीधे मोबाइल डिवाइस और वेब ब्राउज़र से सुरक्षित रूप से अपलोड करने देता है, जिससे धब्बेदार नेटवर्क को आसानी से संभाला जा सकता है।

आवश्यक शर्तें

यदि आपने पहले से नहीं किया है, तो अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ें

एक डिफ़ॉल्ट क्लाउड स्टोरेज बकेट बनाएं

  1. फायरबेस कंसोल के नेविगेशन फलक से, स्टोरेज चुनें, फिर आरंभ करें पर क्लिक करें।

  2. सुरक्षा नियमों का उपयोग करके अपने क्लाउड स्टोरेज डेटा को सुरक्षित करने के बारे में संदेश की समीक्षा करें। विकास के दौरान, सार्वजनिक पहुंच के लिए अपने नियम स्थापित करने पर विचार करें।

  3. अपने डिफ़ॉल्ट क्लाउड स्टोरेज बकेट के लिए एक स्थान चुनें।

    • यह स्थान सेटिंग आपके प्रोजेक्ट का डिफ़ॉल्ट Google क्लाउड प्लेटफ़ॉर्म (GCP) संसाधन स्थान है। ध्यान दें कि इस स्थान का उपयोग आपके प्रोजेक्ट में जीसीपी सेवाओं के लिए किया जाएगा जिसके लिए स्थान सेटिंग की आवश्यकता होती है, विशेष रूप से, आपके क्लाउड फायरस्टोर डेटाबेस और आपके ऐप इंजन ऐप (जो कि यदि आप क्लाउड शेड्यूलर का उपयोग करते हैं तो आवश्यक है)।

    • यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। इसे या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को सेट करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।

    यदि आप ब्लेज़ योजना पर हैं, तो आप कई बकेट बना सकते हैं, जिनमें से प्रत्येक का अपना स्थान होगा

  4. हो गया पर क्लिक करें.

सार्वजनिक पहुंच स्थापित करें

फायरबेस के लिए क्लाउड स्टोरेज एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको यह परिभाषित करने की अनुमति देता है कि आपका डेटा कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और आपका डेटा कब से पढ़ा और लिखा जा सकता है। डिफ़ॉल्ट रूप से, क्लाउड स्टोरेज तक पढ़ने और लिखने की पहुंच प्रतिबंधित है इसलिए केवल प्रमाणित उपयोगकर्ता ही डेटा पढ़ या लिख ​​सकते हैं। प्रमाणीकरण स्थापित किए बिना आरंभ करने के लिए, आप सार्वजनिक पहुंच के लिए अपने नियमों को कॉन्फ़िगर कर सकते हैं।

यह क्लाउड स्टोरेज को किसी के लिए भी खुला बना देता है, यहां तक ​​कि वे लोग भी जो आपके ऐप का उपयोग नहीं करते हैं, इसलिए प्रमाणीकरण सेट करते समय अपने क्लाउड स्टोरेज को फिर से प्रतिबंधित करना सुनिश्चित करें।

अपने ऐप में क्लाउड स्टोरेज SDK जोड़ें

अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle ), क्लाउड स्टोरेज के लिए निर्भरता जोड़ें Android के लिए लाइब्रेरी. हम लाइब्रेरी वर्जनिंग को नियंत्रित करने के लिए फायरबेस एंड्रॉइड BoM का उपयोग करने की सलाह देते हैं।

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.7.3"))

    // Add the dependency for the Cloud Storage library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage")
}

फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।

(वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरताएँ जोड़ें

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।

ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए BoM का उपयोग करने की दृढ़ता से अनुशंसा करते हैं, जो सुनिश्चित करता है कि सभी संस्करण संगत हैं।

dependencies {
    // Add the dependency for the Cloud Storage library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage:20.3.0")
}
कोटलिन-विशिष्ट लाइब्रेरी मॉड्यूल खोज रहे हैं? अक्टूबर 2023 (फायरबेस बीओएम 32.5.0) से शुरू होकर, कोटलिन और जावा डेवलपर्स दोनों मुख्य लाइब्रेरी मॉड्यूल पर निर्भर हो सकते हैं (विवरण के लिए, इस पहल के बारे में अक्सर पूछे जाने वाले प्रश्न देखें)।

क्लाउड स्टोरेज सेट करें

अपने क्लाउड स्टोरेज बकेट तक पहुंचने में पहला कदम FirebaseStorage का एक उदाहरण बनाना है:

Kotlin+KTX

storage = Firebase.storage

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

आप क्लाउड स्टोरेज का उपयोग शुरू करने के लिए तैयार हैं!

सबसे पहले, आइए जानें कि क्लाउड स्टोरेज संदर्भ कैसे बनाएं

अग्रिम सेटअप

ऐसे कुछ उपयोग मामले हैं जिनके लिए अतिरिक्त सेटअप की आवश्यकता होती है:

यदि आपके पास दुनिया भर में उपयोगकर्ता हैं, और आप अपना डेटा उनके पास संग्रहीत करना चाहते हैं, तो पहला उपयोग मामला एकदम सही है। उदाहरण के लिए, आप अमेरिका, यूरोप और एशिया में विलंबता को कम करने के लिए उन क्षेत्रों के उपयोगकर्ताओं के लिए डेटा संग्रहीत करने के लिए बकेट बना सकते हैं।

यदि आपके पास विभिन्न एक्सेस पैटर्न वाला डेटा है तो दूसरा उपयोग मामला सहायक है। उदाहरण के लिए: आप एक बहु-क्षेत्रीय या क्षेत्रीय बकेट स्थापित कर सकते हैं जो चित्र या अन्य बार-बार एक्सेस की जाने वाली सामग्री को संग्रहीत करता है, और एक नियरलाइन या कोल्डलाइन बकेट जो उपयोगकर्ता बैकअप या अन्य कभी-कभार एक्सेस की गई सामग्री को संग्रहीत करता है।

इनमें से किसी भी उपयोग के मामले में, आप एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करना चाहेंगे।

यदि आप Google ड्राइव जैसा कोई ऐप बना रहे हैं, तो तीसरा उपयोग मामला उपयोगी है, जो उपयोगकर्ताओं को एकाधिक लॉग इन खाते (उदाहरण के लिए, एक व्यक्तिगत खाता और एक कार्य खाता) की सुविधा देता है। आप प्रत्येक अतिरिक्त खाते को प्रमाणित करने के लिए एक कस्टम फायरबेस ऐप इंस्टेंस का उपयोग कर सकते हैं।

एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करें

यदि आप ऊपर दिए गए डिफ़ॉल्ट के अलावा किसी अन्य क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, या एक ही ऐप में कई क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, तो आप FirebaseStorage का एक उदाहरण बना सकते हैं जो आपके कस्टम बकेट को संदर्भित करता है:

Kotlin+KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

Java

// Get a non-default Storage bucket
FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");

आयातित बाल्टियों के साथ काम करना

मौजूदा क्लाउड स्टोरेज बकेट को फायरबेस में आयात करते समय, आपको फायरबेस को Google क्लाउड एसडीके में शामिल gsutil टूल का उपयोग करके इन फ़ाइलों तक पहुंचने की क्षमता प्रदान करनी होगी:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

आप अपना प्रोजेक्ट नंबर पा सकते हैं जैसा कि फायरबेस प्रोजेक्ट्स के परिचय में बताया गया है।

यह नव निर्मित बकेट को प्रभावित नहीं करता है, क्योंकि उनमें फायरबेस को अनुमति देने के लिए डिफ़ॉल्ट एक्सेस कंट्रोल सेट होता है। यह एक अस्थायी उपाय है, और भविष्य में स्वचालित रूप से निष्पादित किया जाएगा।

एक कस्टम फायरबेस ऐप का उपयोग करें

यदि आप कस्टम FirebaseApp का उपयोग करके अधिक जटिल ऐप बना रहे हैं, तो आप उस ऐप के साथ प्रारंभ किए गए FirebaseStorage का एक उदाहरण बना सकते हैं:

Kotlin+KTX

// Get the default bucket from a custom FirebaseApp
val storage = Firebase.storage(customApp!!)

// Get a non-default bucket from a custom FirebaseApp
val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")

Java

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.getInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");

अगले कदम