Cloud Storage for Firebase की मदद से, उपयोगकर्ता जनरेट किया गया कॉन्टेंट अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपके ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा, a Google Cloud Storage बकेट में सेव होता है. यह an एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है, जो ज़्यादा उपलब्धता और ग्लोबल रिडंडेंसी के साथ काम करता है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, यह खराब नेटवर्क की समस्या को आसानी से हैंडल कर सकता है.
शुरू करने से पहले
अगर आपने अब तक Android ऐप्लिकेशन के लिए, शुरू करने से जुड़ी गाइड के मुताबिक काम नहीं किया है, तो पक्का करें कि आपने यह काम पूरा कर लिया हो. इसमें ये काम शामिल हैं:
Firebase प्रोजेक्ट बनाना.
अपने Android ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना. साथ ही, अपने ऐप्लिकेशन में Firebase डिपेंडेंसी, Google services प्लग-इन, और अपनी Firebase कॉन्फ़िगरेशन फ़ाइल (
google-services.json) जोड़कर, अपने ऐप्लिकेशन को Firebase से कनेक्ट करना.
पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर हो. Cloud Storage for Firebase का इस्तेमाल करने के लिए, यह ज़रूरी है. अगर आपने Firebase और Google Cloud का इस्तेमाल पहली बार किया है, तो देखें कि क्या आपको 300 डॉलर का क्रेडिट मिल सकता है.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं.
अगर आपका प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर नहीं है, तो आपको अपने प्रोजेक्ट को अपग्रेड करने के लिए कहा जाएगा.
शुरू करें पर क्लिक करें.
अपनी डिफ़ॉल्ट बकेट के लिए कोई जगह चुनें.
,US-CENTRAL1 , औरUS-EAST1 में मौजूद बकेट, Google Cloud Storage के "हमेशा के लिए मुफ़्त" टियर का फ़ायदा उठा सकती हैं. अन्य सभी जगहों पर मौजूद बकेट के लिए, Google Cloud Storage कीमत और इस्तेमाल के नियम लागू होते हैं.US-WEST1अगर चाहें, तो बाद में एक से ज़्यादा बकेट बनाई जा सकती हैं. हर बकेट के लिए अलग जगह चुनी जा सकती है.
अपनी डिफ़ॉल्ट बकेट के लिए, Firebase Security Rules कॉन्फ़िगर करें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए अपने नियम सेट अप करें.
हो गया पर क्लिक करें.
अब Firebase कंसोल में बकेट देखी जा सकती है. इसके लिए,
डेटाबेस और स्टोरेज > स्टोरेज >
फ़ाइलें टैब पर जाएं.
आपकी डिफ़ॉल्ट बकेट के नाम का फ़ॉर्मैट PROJECT_ID.firebasestorage.app
सार्वजनिक ऐक्सेस सेट अप करना
Cloud Storage for Firebase नियमों की एलान करने वाली भाषा उपलब्ध कराता है. इसकी मदद से, यह तय किया जा सकता है कि आपका डेटा कैसे स्ट्रक्चर किया जाना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage के लिए पढ़ने और लिखने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा पढ़ या लिख सकते हैं . पुष्टि की सुविधा सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर किए जा सकते हैं.Authentication
इससे Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपका ऐप्लिकेशन इस्तेमाल नहीं करते. इसलिए, पुष्टि की सुविधा सेट अप करने के बाद, Cloud Storage के ऐक्सेस को सीमित करना न भूलें.
अपने ऐप्लिकेशन में Cloud Storage SDK टूल जोड़ना
अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल में, आम तौर पर<project>/<app-module>/build.gradle.kts या
<project>/<app-module>/build.gradle,
Android के लिए Cloud Storage लाइब्रेरी की डिपेंडेंसी जोड़ें. हमारा सुझाव है कि लाइब्रेरी के वर्शन को कंट्रोल करने के लिए,
Firebase Android BoM
का इस्तेमाल करें.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.13.0")) // 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") }
Firebase Android BoM का इस्तेमाल करने पर, आपका ऐप्लिकेशन हमेशा Firebase Android लाइब्रेरी के साथ काम करने वाले वर्शन का इस्तेमाल करेगा.
(दूसरा तरीका) BoM का इस्तेमाल किए बिना Firebase लाइब्रेरी की डिपेंडेंसी जोड़नाBoM
अगर Firebase BoM का इस्तेमाल नहीं करना है, तो आपको हर Firebase लाइब्रेरी का वर्शन उसकी डिपेंडेंसी लाइन में बताना होगा.
ध्यान दें कि अगर अपने ऐप्लिकेशन में Firebase की एक से ज़्यादा लाइब्रेरी का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि लाइब्रेरी के वर्शन मैनेज करने के लिए 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:22.0.1") }
अपने ऐप्लिकेशन में Cloud Storage सेट अप करना
पक्का करें कि आपके ऐप्लिकेशन के कोडबेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (
google-services.json), आपकी डिफ़ॉल्ट Cloud Storage बकेट के नाम के साथ अपडेट हो.डाउनलोड की गई इस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, अपने ऐप्लिकेशन के मॉड्यूल (ऐप्लिकेशन-लेवल) की डायरेक्ट्री में मौजूद
google-services.jsonफ़ाइल को बदलें.पक्का करें कि आपके ऐप्लिकेशन में, डाउनलोड की गई यह सबसे नई कॉन्फ़िगरेशन फ़ाइल ही मौजूद हो और इसके फ़ाइल नाम में
(2)जैसे अतिरिक्त वर्ण न जोड़े गए हों.
Cloud Storage बकेट को ऐक्सेस करने के लिए,
FirebaseStorageका इंस्टेंस बनाएं:Kotlin
storage = Firebase.storage
// Alternatively, explicitly specify the bucket name URL. // val storage = Firebase.storage("gs://BUCKET_NAME")
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
// Alternatively, explicitly specify the bucket name URL. // FirebaseStorage storage = FirebaseStorage.getInstance("gs://BUCKET_NAME");
अब Cloud Storage का इस्तेमाल किया जा सकता है!
अगला चरण क्या है? रेफ़रंस बनाने का तरीका जानें Cloud Storage.
बेहतर सेटअप
कुछ इस्तेमाल के मामलों में, अतिरिक्त सेटअप की ज़रूरत होती है:
- एक से ज़्यादा भौगोलिक इलाकों में, Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में, Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में, पुष्टि किए गए एक से ज़्यादा उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
पहला इस्तेमाल का मामला तब काम आता है, जब आपके उपयोगकर्ता दुनिया भर में हों और आपको उनका डेटा उनके आस-पास सेव करना हो. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाकर, उन इलाकों में मौजूद उपयोगकर्ताओं का डेटा सेव किया जा सकता है. इससे लेटेंसी कम हो जाती है.
दूसरा इस्तेमाल का मामला तब काम आता है, जब आपके पास अलग-अलग ऐक्सेस पैटर्न वाला डेटा हो. उदाहरण के लिए: मल्टी-रीजनल या रीजनल बकेट सेट अप की जा सकती है. इसमें, तस्वीरें या अक्सर ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जा सकता है. इसके अलावा, नियरलाइन या कोल्डलाइन बकेट सेट अप की जा सकती है. इसमें, उपयोगकर्ता के बैकअप या कभी-कभी ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जा सकता है.
इनमें से किसी भी इस्तेमाल के मामले में, एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल किया जा सकता है.
तीसरा इस्तेमाल का मामला तब काम आता है, जब Google Drive जैसा कोई ऐप्लिकेशन बनाया जा रहा हो. इसमें उपयोगकर्ता, लॉग इन किए गए एक से ज़्यादा खाते इस्तेमाल कर सकते हैं. जैसे, निजी खाता और ऑफ़िस का खाता. हर अतिरिक्त खाते की पुष्टि करने के लिए, Firebase ऐप्लिकेशन के कस्टम इंस्टेंस का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको कोई ऐसी Cloud Storage बकेट इस्तेमाल करनी है जो इस गाइड में पहले बताई गई डिफ़ॉल्ट बकेट से अलग है या किसी एक ऐप्लिकेशन में एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना है, तो FirebaseStorage का कोई ऐसा इंस्टेंस बनाया जा सकता है जो आपकी कस्टम बकेट को रेफ़रंस करता हो:
Kotlin
// 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");
इंपोर्ट की गई बकेट के साथ काम करना
Firebase में किसी मौजूदा Cloud Storage बकेट को इंपोर्ट करते समय, आपको Firebase को gsutil टूल का इस्तेमाल करके इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. यह टूल, Google Cloud SDK में शामिल होता है:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Firebase प्रोजेक्ट के परिचय में बताए गए तरीके से, अपने प्रोजेक्ट का नंबर देखा जा सकता है.
इससे नई बनाई गई बकेट पर कोई असर नहीं पड़ता, क्योंकि उनमें डिफ़ॉल्ट ऐक्सेस कंट्रोल सेट होता है. इससे Firebase को ऐक्सेस करने की अनुमति मिलती है. यह एक अस्थायी तरीका है. आने वाले समय में, यह प्रोसेस अपने-आप पूरी हो जाएगी.
Firebase ऐप्लिकेशन के कस्टम इंस्टेंस का इस्तेमाल करना
अगर FirebaseApp के कस्टम इंस्टेंस का इस्तेमाल करके, कोई ज़्यादा जटिल ऐप्लिकेशन बनाया जा रहा है, तो FirebaseStorage का कोई ऐसा इंस्टेंस बनाया जा सकता है जो उस ऐप्लिकेशन के साथ शुरू किया गया हो:
Kotlin
// 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");
अगले चरण
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करना:
App Check की सुविधा चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन, स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट अलर्ट सेट अप करें.
Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें, ताकि Firebase की कई सेवाओं में आपके प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिल सके.Firebase इस्तेमाल की ज़्यादा जानकारी पाने के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाया जा सकता है.
Firebase लॉन्च करने की चेकलिस्ट की समीक्षा करें.