Cloud Storage for Firebase की मदद से, यूज़र जनरेटेड कॉन्टेंट (यूजीसी) अपलोड और शेयर किया जा सकता है. जैसे, इमेज और वीडियो. इससे आपको अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाने में मदद मिलती है. आपका डेटा, Google Cloud Storage बकेट में सेव किया जाता है. यह एक एक्साबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान है. इसमें डेटा की उपलब्धता ज़्यादा होती है और यह दुनिया भर में मौजूद होता है. Cloud Storage for Firebase की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइसों और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, नेटवर्क की समस्या होने पर भी आसानी से काम किया जा सकता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो पक्का करें कि आपने Apple प्लैटफ़ॉर्म के ऐप्लिकेशन के लिए, शुरू करने से जुड़ी गाइड पढ़ ली हो. इसमें इस तरह का कॉन्टेंट शामिल है:
Firebase प्रोजेक्ट बनाना.
अपने Apple प्लैटफ़ॉर्म ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करें. इसके बाद, Firebase लाइब्रेरी और Firebase कॉन्फ़िगरेशन फ़ाइल (
GoogleService-Info.plist
) को अपने ऐप्लिकेशन में जोड़कर, उसे Firebase से कनेक्ट करें.
पक्का करें कि आपका 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 को पढ़ने और लिखने का ऐक्सेस सीमित होता है. इसलिए, सिर्फ़ पुष्टि किए गए उपयोगकर्ता ही डेटा को पढ़ या लिख सकते हैं. Authentication को सेट अप किए बिना शुरू करने के लिए, सार्वजनिक ऐक्सेस के लिए अपने नियम कॉन्फ़िगर करें.
इससे Cloud Storage को कोई भी ऐक्सेस कर सकता है. यहां तक कि वे लोग भी जो आपके ऐप्लिकेशन का इस्तेमाल नहीं करते. इसलिए, पुष्टि की सुविधा सेट अप करते समय, Cloud Storage को फिर से प्रतिबंधित करना न भूलें.
अपने ऐप्लिकेशन में Cloud Storage जोड़ना
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
- Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, File > Add Packages पर जाएं.
- जब आपसे कहा जाए, तब 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; // ...
अपने ऐप्लिकेशन डेलिगेट के
application(_:didFinishLaunchingWithOptions:)
तरीके में, शेयर किए गए इंस्टेंस को कॉन्फ़िगर करें:FirebaseApp
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 के लिए) ऐप्लिकेशन डेलिगेट बनाएं और उसे
UIApplicationDelegateAdaptor
याNSApplicationDelegateAdaptor
का इस्तेमाल करके, अपनेApp
स्ट्रक्चर से अटैच करें. आपको ऐप्लिकेशन के डेलिगेट स्विज़लिंग को भी बंद करना होगा. ज़्यादा जानकारी के लिए, 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 बकेट का इस्तेमाल करना है या एक ही ऐप्लिकेशन में कई 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"];
इंपोर्ट किए गए बकेट के साथ काम करना
किसी मौजूदा Cloud Storage बकेट को Firebase में इंपोर्ट करते समय, आपको Firebase को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, Google 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
का इस्तेमाल करके ज़्यादा जटिल ऐप्लिकेशन बनाना है, तो उस ऐप्लिकेशन के साथ शुरू किया गया 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 इस्तेमाल डैशबोर्ड पर जाएं.