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