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 पैकेज मैनेजर का इस्तेमाल करें.
अपने Apple प्रोजेक्ट में Firebase SDK टूल जोड़ने के अलग-अलग तरीकों के बारे में जानने के लिए,- Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलकर, फ़ाइल > पैकेज जोड़ें पर जाएं.
- जब कहा जाए, तब Firebase के Apple प्लैटफ़ॉर्म के SDK टूल का रिपॉज़िटरी जोड़ें:
- Cloud Storage लाइब्रेरी चुनें.
- अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में
-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 बकेट के नाम के साथ अपडेट किया गया हो.डाउनलोड की गई इस config फ़ाइल का इस्तेमाल करके, अपने 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"];
इंपोर्ट किए गए बकेट के साथ काम करना
किसी मौजूदा 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
का इस्तेमाल करके, ज़्यादा जटिल ऐप्लिकेशन बनाया जा रहा है, तो उस ऐप्लिकेशन के साथ शुरू किए गए 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 इस्तेमाल डैशबोर्ड पर भी जाएं.