Cloud Storage for Firebase की मदद से, यूज़र जनरेटेड कॉन्टेंट अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपको अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाने में मदद मिलती है. आपका डेटा, Google Cloud Storage बकेट में सेव किया जाता है. यह एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है. इसमें डेटा की उपलब्धता ज़्यादा होती है और यह दुनिया भर में रिडंडेंसी की सुविधा देता है. Firebase के लिए Cloud Storage की मदद से, इन फ़ाइलों को सीधे तौर पर मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क की समस्या को आसानी से हल किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो पक्का करें कि आपने Flutter ऐप्लिकेशन के लिए, शुरू करने से जुड़ी गाइड पढ़ ली हो. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
Flutter के लिए Firebase SDK टूल इंस्टॉल करना और उन्हें शुरू करना.
पक्का करें कि आपका 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 को पढ़ने और उसमें बदलाव करने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ या उसमें बदलाव कर सकते हैं. Firebase Authentication को सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियमों को कॉन्फ़िगर करें.
इससे Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपके ऐप्लिकेशन का इस्तेमाल नहीं करते. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, Cloud Storage के ऐक्सेस को फिर से सीमित करें.
अपने ऐप्लिकेशन में Cloud Storage SDK टूल जोड़ना
प्लगिन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:
flutter pub add firebase_storage
अपडेट हो जाने के बाद, अपने Flutter ऐप्लिकेशन को फिर से बनाएं:
flutter run
अपने डार्ट कोड में प्लगिन इंपोर्ट करें:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage सेट अप करना
अपने Flutter प्रोजेक्ट की डायरेक्ट्री से
flutterfire configure
चलाएं. इससे आपके ऐप्लिकेशन के कोडबेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (firebase_options.dart
) अपडेट हो जाती है. इससे फ़ाइल में आपके डिफ़ॉल्ट Cloud Storage बकेट का नाम शामिल हो जाता है.FirebaseStorage
का इंस्टेंस बनाकर, Cloud Storage बकेट को ऐक्सेस करें:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
अब Cloud Storage का इस्तेमाल शुरू किया जा सकता है!
अगला चरण क्या है? Cloud Storage का रेफ़रंस बनाने का तरीका जानें.
ऐडवांस सेटअप
यहां कुछ ऐसे इस्तेमाल के उदाहरण दिए गए हैं जिनके लिए अतिरिक्त सेटअप की ज़रूरत होती है:
- एक से ज़्यादा भौगोलिक क्षेत्रों में Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में, पुष्टि किए गए कई उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
अगर आपके उपयोगकर्ता दुनिया भर में हैं और आपको उनका डेटा उनके आस-पास के सर्वर में सेव करना है, तो इस्तेमाल का पहला उदाहरण आपके लिए सबसे सही है. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाए जा सकते हैं, ताकि उन देशों/इलाकों के उपयोगकर्ताओं का डेटा स्टोर किया जा सके. इससे लेटेन्सी कम हो जाती है.
अगर आपके पास अलग-अलग ऐक्सेस पैटर्न वाला डेटा है, तो दूसरा इस्तेमाल का तरीका आपके लिए मददगार है. उदाहरण के लिए: एक से ज़्यादा क्षेत्रों या किसी क्षेत्र के लिए ऐसा बकेट सेट अप किया जा सकता है जिसमें अक्सर ऐक्सेस की जाने वाली फ़ोटो या अन्य कॉन्टेंट सेव किया जाता है. इसके अलावा, नियरलाइन या कोल्डलाइन बकेट सेट अप किया जा सकता है, जिसमें उपयोगकर्ता के बैकअप या अक्सर ऐक्सेस न किया जाने वाला कॉन्टेंट सेव किया जाता है.
इन दोनों ही इस्तेमाल के उदाहरणों में, आपको एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना होगा.
तीसरा इस्तेमाल का उदाहरण तब काम आता है, जब आपको Google Drive जैसा कोई ऐप्लिकेशन बनाना हो. इस ऐप्लिकेशन में, उपयोगकर्ताओं को एक साथ कई खातों में लॉग इन करने की सुविधा मिलती है. उदाहरण के लिए, निजी खाता और ऑफ़िस से जुड़ा खाता. हर अतिरिक्त खाते की पुष्टि करने के लिए, कस्टम Firebase ऐप्लिकेशन का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको ऊपर दिए गए डिफ़ॉल्ट Cloud Storage बकेट के अलावा किसी दूसरे Cloud Storage बकेट का इस्तेमाल करना है या किसी एक ऐप्लिकेशन में एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना है, तो FirebaseStorage
का एक ऐसा इंस्टेंस बनाया जा सकता है जो आपके कस्टम बकेट को रेफ़रंस करता हो:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "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://YOUR-CLOUD-STORAGE-BUCKET
आपको अपना प्रोजेक्ट नंबर, Firebase प्रोजेक्ट के बारे में जानकारी में बताए गए तरीके से मिल सकता है.
इससे नई बकेट पर कोई असर नहीं पड़ता, क्योंकि उनमें डिफ़ॉल्ट ऐक्सेस कंट्रोल को Firebase के लिए अनुमति देने पर सेट किया जाता है. यह कुछ समय के लिए लागू किया गया है. आने वाले समय में, यह प्रोसेस अपने-आप पूरी हो जाएगी.
कस्टम Firebase ऐप्लिकेशन का इस्तेमाल करना
अगर आपको कस्टम FirebaseApp
का इस्तेमाल करके ज़्यादा जटिल ऐप्लिकेशन बनाना है, तो उस ऐप्लिकेशन के साथ शुरू किया गया FirebaseApp
का इंस्टेंस बनाया जा सकता है:FirebaseStorage
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
अगले चरण
- ऐप्लिकेशन लॉन्च करने की तैयारी करना:
- App Check चालू करें, ताकि यह पक्का किया जा सके कि सिर्फ़ आपके ऐप्लिकेशन ही आपके स्टोरेज बकेट को ऐक्सेस कर सकें.
- Google Cloud Console में, अपने प्रोजेक्ट के लिए बजट की चेतावनियां सेट अप करें.
- Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड को मॉनिटर करें. इससे आपको कई Firebase सेवाओं में अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी. इस्तेमाल से जुड़ी ज़्यादा जानकारी के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.
- Firebase लॉन्च करने की चेकलिस्ट देखें.