Cloud Storage for Firebase की मदद से, उपयोगकर्ता जनरेट किया गया कॉन्टेंट अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपके ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा, a Google Cloud Storage बकेट में सेव किया जाता है. यह an एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज सलूशन है, जो high availability और global redundancy के साथ उपलब्ध है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, यह खराब नेटवर्क की वजह से होने वाली समस्याओं को आसानी से हल कर सकता है.
शुरू करने से पहले
अगर आपने Apple प्लैटफ़ॉर्म के ऐप्लिकेशन के लिए, शुरू करने से जुड़ी गाइडलाइन के मुताबिक काम नहीं किया है, तो पक्का करें कि आपने ऐसा कर लिया हो. ऐसे कॉन्टेंट के कुछ उदाहरण यहां दिए गए हैं:
Firebase प्रोजेक्ट बनाना.
Apple प्लैटफ़ॉर्म के ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना. साथ ही, अपने ऐप्लिकेशन में Firebase लाइब्रेरी और Firebase कॉन्फ़िगरेशन फ़ाइल (
GoogleService-Info.plist) जोड़कर, अपने ऐप्लिकेशन को Firebase से कनेक्ट करना.
पक्का करें कि आपका 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
सार्वजनिक ऐक्सेस सेट अप करना
Cloud Storage for Firebase नियमों की एक डिक्लेरेटिव भाषा उपलब्ध कराता है. इसकी मदद से, यह तय किया जा सकता है कि आपका डेटा कैसे स्ट्रक्चर किया जाना चाहिए, उसे कैसे इंडेक्स किया जाना चाहिए, और आपका डेटा कब पढ़ा और लिखा जा सकता है. डिफ़ॉल्ट रूप से, को पढ़ने और लिखने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा पढ़ या लिख सकते हैं. Cloud Storage पुष्टि की सुविधा सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर किए जा सकते हैं.Authentication
इससे Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपका ऐप्लिकेशन इस्तेमाल नहीं कर रहे हैं. इसलिए, पुष्टि की सुविधा सेट अप करने के बाद, Cloud Storage के ऐक्सेस को सीमित करना न भूलें.
अपने ऐप्लिकेशन में Cloud Storage जोड़ना
Firebase की डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
Apple प्रोजेक्ट में Firebase SDK टूल जोड़ने के अलग-अलग तरीकों के बारे में जानने के लिए,- Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, फ़ाइल > पैकेज जोड़ें पर जाएं.
- प्रॉम्प्ट मिलने पर, Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
- Cloud Storage लाइब्रेरी चुनें.
- अपने टारगेट की बिल्ड सेटिंग के Other Linker Flags सेक्शन में,
-ObjCफ़्लैग जोड़ें. - इसके बाद, Xcode अपने-आप आपकी डिपेंडेंसी से जुड़ी समस्या को हल करना शुरू कर देगा और उन्हें बैकग्राउंड में डाउनलोड करेगा.
https://github.com/firebase/firebase-ios-sdk.git
अपने ऐप्लिकेशन में Cloud Storage सेट अप करना
Firebase रेफ़रंस बनाने या इस्तेमाल करने से पहले, Firebase को शुरू करें.
अगर आपने पहले ही कोई दूसरा Firebase प्रॉडक्ट सेट अप किया है, तो हो सकता है कि आपने यह काम पहले ही कर लिया हो. हालांकि, आपको इंपोर्ट की अपनी सूची में
FirebaseStorageलाइब्रेरी जोड़नी होगी.अपने
UIApplicationDelegateमें,FirebaseCoreमॉड्यूल औरFirebaseStorageमॉड्यूल इंपोर्ट करें. हमारा सुझाव है किFirebaseAuthभी जोड़ें.SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...-
SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()Swift
// Use Firebase library to configure APIs FirebaseApp.configure()Objective-C
// Use Firebase library to configure APIs [FIRApp configure]; (सिर्फ़ SwiftUI) ऐप्लिकेशन डेलिगेट बनाएं और
Appस्ट्रक्चर का इस्तेमाल करके, इसे अपनेUIApplicationDelegateAdaptorयाNSApplicationDelegateAdaptorसे अटैच करें. आपको ऐप्लिकेशन डेलिगेट स्विज़लिंग भी बंद करनी होगी. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.SwiftUI
@main struct YourApp: App { // Register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
डिफ़ॉल्ट Firebase ऐप्लिकेशन का इस्तेमाल करके, Cloud Storage सेवा का रेफ़रंस पाएं.
पक्का करें कि आपके ऐप्लिकेशन के कोडबेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (
GoogleService-Info.plist), आपकी डिफ़ॉल्ट Cloud Storage बकेट के नाम से अपडेट हो.Xcode प्रोजेक्ट की रूट में मौजूद मौजूदा
GoogleService-Info.plistफ़ाइल को बदलने के लिए, डाउनलोड की गई इस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें. अगर आपसे पूछा जाए, तो सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने के लिए, चुनें.पक्का करें कि आपके ऐप्लिकेशन में, डाउनलोड की गई यह सबसे नई कॉन्फ़िगरेशन फ़ाइल ही हो और इसके फ़ाइल नाम में
(2)जैसे अतिरिक्त वर्ण न जोड़े गए हों.
डिफ़ॉल्ट Firebase ऐप्लिकेशन का इस्तेमाल करके, Cloud Storage सेवा का रेफ़रंस पाएं:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C
FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
अब Cloud Storage का इस्तेमाल किया जा सकता है!
अगला चरण क्या है? रेफ़रंस बनाने का तरीका जानें Cloud Storage.
ऐडवांस सेटअप
कुछ इस्तेमाल के मामलों में, अतिरिक्त सेटअप की ज़रूरत होती है:
- एक से ज़्यादा भौगोलिक इलाकों में, Cloud Storage बकेट का इस्तेमाल करना
- अलग-अलग स्टोरेज क्लास में, Cloud Storage बकेट का इस्तेमाल करना
- एक ही ऐप्लिकेशन में, पुष्टि किए गए एक से ज़्यादा उपयोगकर्ताओं के साथ Cloud Storage बकेट का इस्तेमाल करना
पहला इस्तेमाल का मामला तब सही है, जब आपके उपयोगकर्ता दुनिया भर में हों और आपको उनका डेटा उनके आस-पास सेव करना हो. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाई जा सकती हैं. इससे इन इलाकों के उपयोगकर्ताओं का डेटा, इन बकेट में सेव किया जा सकता है. इससे डेटा ऐक्सेस करने में लगने वाला समय कम हो जाता है.
दूसरा इस्तेमाल का मामला तब मददगार होता है, जब आपके पास अलग-अलग ऐक्सेस पैटर्न वाला डेटा हो. उदाहरण के लिए: एक से ज़्यादा इलाकों या किसी एक इलाके में मौजूद बकेट सेट अप की जा सकती है. इसमें, फ़ोटो या अक्सर ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जा सकता है. इसके अलावा, नियरलाइन या कोल्डलाइन बकेट सेट अप की जा सकती है. इसमें, उपयोगकर्ता के बैकअप या कभी-कभी ऐक्सेस किया जाने वाला अन्य कॉन्टेंट सेव किया जा सकता है.
इन दोनों इस्तेमाल के मामलों में, एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल किया जा सकता है.
तीसरा इस्तेमाल का मामला तब काम आता है, जब Google Drive जैसे किसी ऐप्लिकेशन को बनाया जा रहा हो. इसमें उपयोगकर्ता, एक से ज़्यादा लॉग इन किए गए खातों का इस्तेमाल कर सकते हैं. जैसे, निजी खाता और ऑफ़िस का खाता. हर अतिरिक्त खाते की पुष्टि करने के लिए, Firebase ऐप्लिकेशन के कस्टम इंस्टेंस का इस्तेमाल किया जा सकता है.
एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना
अगर आपको ऊपर दी गई डिफ़ॉल्ट Cloud Storage बकेट के अलावा कोई दूसरी बकेट इस्तेमाल करनी है या एक ही ऐप्लिकेशन में Cloud Storage की एक से ज़्यादा बकेट इस्तेमाल करनी हैं, तो FIRStorage का एक इंस्टेंस बनाया जा सकता है. यह इंस्टेंस, आपकी कस्टम बकेट को रेफ़रंस करता है:
Swift
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
इंपोर्ट की गई बकेट के साथ काम करना
Firebase में, किसी मौजूदा Cloud Storage बकेट को इंपोर्ट करते समय, आपको Firebase को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, gsutilGoogle 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 के कस्टम इंस्टेंस का इस्तेमाल करके, कोई ज़्यादा जटिल ऐप्लिकेशन बनाया जा रहा है, तो Storage का एक इंस्टेंस बनाया जा सकता है. इसे उस ऐप्लिकेशन के साथ शुरू किया जाता है:
Swift
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
अगले चरण
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करना:
App Check की सुविधा चालू करें. इससे यह पक्का करने में मदद मिलती है कि सिर्फ़ आपके ऐप्लिकेशन, स्टोरेज बकेट को ऐक्सेस कर सकें.
Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट अलर्ट सेट अप करें.
इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase कंसोल में, Firebase की अलग-अलग सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलती है. इस्तेमाल के बारे में ज़्यादा जानकारी पाने के लिए, Cloud Storage इस्तेमाल डैशबोर्ड पर भी जाएं.