Flutter पर Cloud Storage के साथ शुरुआत करें

फायरबेस के लिए क्लाउड स्टोरेज आपको छवियों और वीडियो जैसे उपयोगकर्ता द्वारा जेनरेट की गई सामग्री को अपलोड और साझा करने देता है, जो आपको अपने ऐप्स में समृद्ध मीडिया सामग्री बनाने की अनुमति देता है। आपका डेटा Google क्लाउड स्टोरेज बकेट में संग्रहीत किया जाता है - उच्च उपलब्धता और वैश्विक अतिरेक के साथ एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान। फायरबेस के लिए क्लाउड स्टोरेज आपको इन फ़ाइलों को सीधे मोबाइल उपकरणों और वेब ब्राउज़र से सुरक्षित रूप से अपलोड करने देता है, स्पॉटी नेटवर्क को आसानी से संभालता है।

आवश्यक शर्तें

यदि आपने पहले से ऐसा नहीं किया है तो फ़्लटर के लिए फायरबेस एसडीके स्थापित करें और प्रारंभ करें

एक डिफ़ॉल्ट क्लाउड स्टोरेज बकेट बनाएं

  1. फायरबेस कंसोल के नेविगेशन पेन से, स्टोरेज चुनें, फिर गेट स्टार्ट पर क्लिक करें।

  2. सुरक्षा नियमों का उपयोग करके अपने क्लाउड स्टोरेज डेटा को सुरक्षित करने के बारे में संदेश की समीक्षा करें। विकास के दौरान, सार्वजनिक पहुंच के लिए अपने नियम स्थापित करने पर विचार करें।

  3. अपने डिफ़ॉल्ट क्लाउड स्टोरेज बकेट के लिए एक स्थान चुनें।

    • यह स्थान सेटिंग आपके प्रोजेक्ट का डिफ़ॉल्ट Google क्लाउड प्लेटफ़ॉर्म (GCP) संसाधन स्थान है । ध्यान दें कि इस स्थान का उपयोग आपके प्रोजेक्ट में GCP सेवाओं के लिए किया जाएगा, जिसके लिए स्थान सेटिंग की आवश्यकता होती है, विशेष रूप से, आपका Cloud Firestore डेटाबेस और आपका ऐप इंजन ऐप (जो कि क्लाउड शेड्यूलर का उपयोग करने पर आवश्यक है)।

    • यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। इसे या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को स्थापित करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।

    यदि आप ब्लेज़ योजना पर हैं, तो आप अनेक बकेट बना सकते हैं, प्रत्येक का अपना स्थान होगा।

  4. हो गया क्लिक करें.

सार्वजनिक पहुंच सेट करें

फायरबेस के लिए क्लाउड स्टोरेज एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको यह परिभाषित करने की अनुमति देता है कि आपके डेटा को कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और आपका डेटा कब से पढ़ा और लिखा जा सकता है। डिफ़ॉल्ट रूप से, क्लाउड स्टोरेज तक पढ़ने और लिखने की पहुंच प्रतिबंधित है, इसलिए केवल प्रमाणित उपयोगकर्ता ही डेटा पढ़ या लिख ​​सकते हैं। Firebase प्रमाणीकरण सेट किए बिना आरंभ करने के लिए, आप सार्वजनिक पहुंच के लिए अपने नियमों को कॉन्फ़िगर कर सकते हैं।

यह क्लाउड स्टोरेज को किसी के लिए भी खुला बनाता है, यहां तक ​​कि आपके ऐप का उपयोग न करने वाले लोगों के लिए भी, इसलिए प्रमाणीकरण सेट करते समय अपने क्लाउड स्टोरेज को फिर से प्रतिबंधित करना सुनिश्चित करें।

अपने ऐप में क्लाउड स्टोरेज एसडीके जोड़ें

  1. अपने फ़्लटर प्रोजेक्ट की जड़ से, प्लगइन स्थापित करने के लिए निम्न कमांड चलाएँ:

    flutter pub add firebase_storage
    
  2. एक बार पूरा होने के बाद, अपने स्पंदन एप्लिकेशन का पुनर्निर्माण करें:

    flutter run
    
  3. अपने डार्ट कोड में प्लगइन आयात करें:

    import 'package:firebase_storage/firebase_storage.dart';
    

क्लाउड स्टोरेज सेट करें

अपने Cloud Storage बकेट तक पहुंचने का पहला कदम FirebaseStorage का एक उदाहरण बनाना है:

final storage = FirebaseStorage.instance;

आप क्लाउड स्टोरेज का उपयोग शुरू करने के लिए तैयार हैं!

सबसे पहले, आइए जानें कि क्लाउड स्टोरेज संदर्भ कैसे बनाया जाता है।

अग्रिम सेटअप

कुछ उपयोग के मामले हैं जिनके लिए अतिरिक्त सेटअप की आवश्यकता होती है:

यदि आपके पास दुनिया भर के उपयोगकर्ता हैं, और उनके पास अपना डेटा संग्रहीत करना चाहते हैं, तो पहला उपयोग मामला एकदम सही है। उदाहरण के लिए, आप यूएस, यूरोप और एशिया में बकेट बना सकते हैं ताकि उन क्षेत्रों के उपयोगकर्ताओं के लिए डेटा स्टोर किया जा सके ताकि विलंबता को कम किया जा सके।

यदि आपके पास अलग-अलग एक्सेस पैटर्न वाले डेटा हैं तो दूसरा उपयोग केस मददगार है। उदाहरण के लिए: आप एक बहु-क्षेत्रीय या क्षेत्रीय बकेट सेट कर सकते हैं जो चित्रों या अन्य अक्सर एक्सेस की जाने वाली सामग्री को संग्रहीत करता है, और एक नियरलाइन या कोल्डलाइन बकेट जो उपयोगकर्ता बैकअप या अन्य बार-बार एक्सेस की गई सामग्री को संग्रहीत करता है।

इनमें से किसी भी उपयोग के मामले में, आप एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करना चाहेंगे।

तीसरा उपयोग मामला तब उपयोगी होता है जब आप Google ड्राइव जैसे ऐप का निर्माण कर रहे हों, जो उपयोगकर्ताओं को एकाधिक लॉग इन खाते (उदाहरण के लिए, एक व्यक्तिगत खाता और एक कार्य खाता) देता है। आप प्रत्येक अतिरिक्त खाते को प्रमाणित करने के लिए कस्टम फायरबेस ऐप इंस्टेंस का उपयोग कर सकते हैं।

एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करें

यदि आप ऊपर दिए गए डिफ़ॉल्ट के अलावा किसी अन्य क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, या एक ही ऐप में कई क्लाउड स्टोरेज बकेट का उपयोग करना चाहते हैं, तो आप FirebaseStorage का एक उदाहरण बना सकते हैं जो आपके कस्टम बकेट को संदर्भित करता है:

// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");

आयातित बाल्टियों के साथ काम करना

किसी मौजूदा Cloud Storage बकेट को Firebase में आयात करते समय, आपको Google Cloud SDK में शामिल gsutil टूल का उपयोग करके Firebase को इन फ़ाइलों तक पहुंचने की क्षमता प्रदान करनी होगी:

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET

आप Firebase प्रोजेक्ट के परिचय में बताए अनुसार अपना प्रोजेक्ट नंबर पा सकते हैं।

यह नई बनाई गई बकेट को प्रभावित नहीं करता है, क्योंकि उनमें फ़ायरबेस को अनुमति देने के लिए डिफ़ॉल्ट एक्सेस कंट्रोल सेट होता है। यह एक अस्थायी उपाय है, और भविष्य में स्वचालित रूप से किया जाएगा।

एक कस्टम फायरबेस ऐप का प्रयोग करें

यदि आप कस्टम FirebaseApp का उपयोग करके एक अधिक जटिल ऐप बना रहे हैं, तो आप उस ऐप के साथ आरंभ किए गए FirebaseStorage का एक उदाहरण बना सकते हैं:

// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);

अगले कदम