Cloud Storage for Firebase की मदद से, उपयोगकर्ता से जनरेट किया गया कॉन्टेंट अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे, अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा, Google Cloud Storage बकेट में सेव होता है. यह एक ऐसा ऑब्जेक्ट स्टोरेज सलूशन है जो एक्जाबाइट के स्केल पर काम करता है. इसमें डेटा को आसानी से ऐक्सेस किया जा सकता है और दुनिया भर में डेटा का बैकअप मौजूद होता है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क की समस्या को आसानी से हल किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक Android ऐप्लिकेशन के लिए शुरुआती गाइड को पूरा नहीं किया है, तो इसे ज़रूर पूरा करें. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
अपने Android ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना और अपने ऐप्लिकेशन में Firebase डिपेंडेंसी, Google की सेवाओं का प्लग इन, और Firebase कॉन्फ़िगरेशन फ़ाइल (
google-services.json
) जोड़कर, अपने ऐप्लिकेशन को Firebase से कनेक्ट करना.
पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर हो. अगर आपने Firebase और Google Cloud का इस्तेमाल पहले कभी नहीं किया है, तो देखें कि क्या आपके पास 300 डॉलर के क्रेडिट पाने की ज़रूरी शर्तें पूरी हैं.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल के नेविगेशन पैनल में, स्टोरेज चुनें.
अगर आपका प्रोजेक्ट अब तक, 'इस्तेमाल के हिसाब से पैसे चुकाएं' वाले Blaze प्लान पर नहीं है, तो आपको प्रोजेक्ट को अपग्रेड करने के लिए कहा जाएगा.
शुरू करें पर क्लिक करें.
अपनी डिफ़ॉल्ट बकेट के लिए कोई जगह चुनें.
,US-CENTRAL1
, औरUS-EAST1
में मौजूद बकेट, Google Cloud Storage के लिए "हमेशा मुफ़्त" टीयर का फ़ायदा ले सकते हैं. बाकी सभी जगहों की बकेट के लिए, Google Cloud Storage कीमत और इस्तेमाल का पालन किया जाता है.US-WEST1
अगर आप चाहें, तो बाद में एक से ज़्यादा बकेट बनाई जा सकती हैं. हर बकेट की अपनी जगह होगी.
अपनी डिफ़ॉल्ट बकेट के लिए Firebase Security Rules को कॉन्फ़िगर करें. ऐप्लिकेशन डेवलप करने के दौरान, सार्वजनिक ऐक्सेस के लिए नियम सेट अप करें.
हो गया पर क्लिक करें.
अब Firebase कंसोल के Cloud Storage फ़ाइलें टैब में जाकर, बकेट देखी जा सकती है. आपकी बकेट के नाम का डिफ़ॉल्ट फ़ॉर्मैट,
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:33.6.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 लाइब्रेरी की डिपेंडेंसी जोड़ें
अगर 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:21.0.1") }
अपने ऐप्लिकेशन में Cloud Storage सेट अप करना
पक्का करें कि आपके ऐप्लिकेशन के कोडबेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (
google-services.json
), आपकी डिफ़ॉल्ट Cloud Storage बकेट के नाम से अपडेट की गई हो.डाउनलोड की गई इस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, अपने ऐप्लिकेशन के मॉड्यूल (ऐप्लिकेशन-लेवल) डायरेक्ट्री में मौजूद
google-services.json
फ़ाइल को बदलें.पक्का करें कि आपके ऐप्लिकेशन में सिर्फ़ डाउनलोड की गई यह सबसे नई कॉन्फ़िगरेशन फ़ाइल हो. साथ ही, यह भी पक्का करें कि फ़ाइल के नाम में
(2)
जैसे अन्य वर्ण न जोड़े गए हों.
FirebaseStorage
का इंस्टेंस बनाकर, अपनी Cloud Storage बकेट को ऐक्सेस करें:Kotlin+KTX
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+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");
इंपोर्ट की गई बकेट के साथ काम करना
किसी मौजूदा 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+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");
अगले चरण
अपने ऐप्लिकेशन को लॉन्च करने के लिए तैयारी करना:
App Check को चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही आपकी स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट से जुड़ी सूचनाएं सेट अप करें.
Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
Firebase लॉन्च की चेकलिस्ट देखें.