'Firebase के लिए Cloud Storage' आपको इमेज और वीडियो जैसी यूज़र जनरेटेड कॉन्टेंट को अपलोड और शेयर करने की सुविधा देता है. इससे अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा Google Cloud Storage बकेट में सेव होता है — यह एक एक्ज़ाबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान है, जिसमें ज़्यादा उपलब्धता और ग्लोबल रिडंडंसी होती है. 'Firebase के लिए Cloud Storage' की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइस और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क को आसानी से मैनेज किया जा सकता है.
ज़रूरी शर्तें
अगर आपने पहले से Firebase को नहीं जोड़ा है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
डिफ़ॉल्ट Cloud Storage बकेट बनाना
Firebase कंसोल के नेविगेशन पैनल में जाकर, स्टोरेज चुनें. इसके बाद, शुरू करें पर क्लिक करें.
सुरक्षा नियमों का इस्तेमाल करके, Cloud Storage का डेटा सुरक्षित करने के बारे में दी गई सूचना देखें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए अपने नियम सेट अप करें.
अपने डिफ़ॉल्ट Cloud Storage बकेट के लिए, कोई जगह चुनें.
जगह की जानकारी की यह सेटिंग आपके प्रोजेक्ट की डिफ़ॉल्ट Google Cloud Platform (GCP) संसाधन जगह है. ध्यान दें कि इस जगह का इस्तेमाल आपके प्रोजेक्ट में उन GCP सेवाओं के लिए किया जाएगा जिनके लिए जगह की जानकारी की सेटिंग ज़रूरी है, खास तौर पर, आपका Cloud Firestore डेटाबेस और आपका App Engine ऐप्लिकेशन (अगर Cloud Scheduler का इस्तेमाल किया जाता है, तो यह ज़रूरी है).
अगर जगह चुनने में समस्या आ रही है, तो इसका मतलब है कि आपके प्रोजेक्ट में पहले से ही डिफ़ॉल्ट GCP रिसॉर्स लोकेशन मौजूद है. इसे प्रोजेक्ट बनाते समय या ऐसी कोई दूसरी सेवा सेट अप करते समय सेट किया गया था जिसके लिए जगह की जानकारी की सेटिंग की ज़रूरत होती है.
अगर आप Blaze प्लान पर हैं, तो आपके पास कई बकेट बनाने का विकल्प है. हर बकेट की अपनी जगह की जानकारी होनी चाहिए.
हो गया पर क्लिक करें.
सार्वजनिक ऐक्सेस सेट अप करें
'Firebase के लिए Cloud Storage' में, जानकारी देने वाले नियमों की भाषा मौजूद होती है. इससे यह तय किया जा सकता है कि आपका डेटा कैसे स्ट्रक्चर किया जाना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपके डेटा को कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, Cloud Storage को पढ़ने और उसमें बदलाव करने का ऐक्सेस प्रतिबंधित है, ताकि सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ या उसमें बदलाव कर सकें. पुष्टि करने की सुविधा सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस से जुड़े अपने नियम कॉन्फ़िगर करें.
इससे 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.1.2")) // 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.0") }
Cloud Storage सेट अप करना
Cloud Storage बकेट को ऐक्सेस करने का पहला चरण है, FirebaseStorage
का एक इंस्टेंस बनाना:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
आप 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 को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, gsutil
टूल का इस्तेमाल करें. यह टूल
Google Cloud SDK टूल में शामिल है:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
अपना प्रोजेक्ट नंबर 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");
अगले चरण
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करें:
ऐप्लिकेशन जांच की सुविधा चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही आपके स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud Console में, अपने प्रोजेक्ट के लिए बजट से जुड़ी चेतावनियां सेट अप करें.
Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की अलग-अलग सेवाओं में अपने प्रोजेक्ट के इस्तेमाल से जुड़ी पूरी जानकारी मिलेगी. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जा सकते हैं.