Cloud Storage for Firebase की मदद से, यूज़र जनरेटेड कॉन्टेंट (यूजीसी) को अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपको अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाने में मदद मिलती है. आपका डेटा, Google Cloud Storage बकेट में सेव किया जाता है. यह एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है, जो ज़्यादा अपटाइम और ग्लोबल रिडंडंसी के साथ उपलब्ध है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क की समस्या को आसानी से हल किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो पक्का करें कि आपने Android ऐप्लिकेशन के लिए शुरुआती निर्देश पूरे कर लिए हों. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
अपने Android ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना और Firebase डिपेंडेंसी, Google की सेवाओं का प्लग इन, और 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:35.0.1")) // 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 लाइब्रेरी डिपेंडेंसी जोड़ें
अगर आपको 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:23.0.0") }
अपने ऐप्लिकेशन में Cloud Storage सेट अप करना
पक्का करें कि आपके ऐप्लिकेशन के कोड बेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (
google-services.json) को आपकी डिफ़ॉल्ट Cloud Storage बकेट के नाम के साथ अपडेट किया गया हो.डाउनलोड की गई इस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, अपने ऐप्लिकेशन की मॉड्यूल (ऐप्लिकेशन-लेवल) डायरेक्ट्री में मौजूद
google-services.jsonफ़ाइल को बदलें.पक्का करें कि आपके ऐप्लिकेशन में सिर्फ़ हाल ही में डाउनलोड की गई कॉन्फ़िगरेशन फ़ाइल हो. साथ ही, इसके फ़ाइल नाम में
(2)जैसे अतिरिक्त वर्ण न जोड़े गए हों.
FirebaseStorageका इंस्टेंस बनाकर, अपनी Cloud Storage बकेट को ऐक्सेस करें: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");
इंपोर्ट की गई बकेट के साथ काम करना
किसी मौजूदा Cloud Storage बकेट को Firebase में इंपोर्ट करते समय, आपको Firebase को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, Google Cloud SDK में शामिल gsutil टूल का इस्तेमाल करें:
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 की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल के बारे में ज़्यादा जानकारी पाने के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
Firebase लॉन्च चेकलिस्ट देखें.