Apple प्लैटफ़ॉर्म पर Cloud Storage का इस्तेमाल शुरू करना

'Firebase के लिए Cloud Storage' आपको इमेज और वीडियो जैसी यूज़र जनरेटेड कॉन्टेंट को अपलोड और शेयर करने की सुविधा देता है. इससे अपने ऐप्लिकेशन में रिच मीडिया कॉन्टेंट बनाया जा सकता है. आपका डेटा Google Cloud Storage बकेट में सेव होता है — यह एक एक्ज़ाबाइट स्केल ऑब्जेक्ट स्टोरेज समाधान है, जिसमें ज़्यादा उपलब्धता और ग्लोबल रिडंडंसी होती है. 'Firebase के लिए Cloud Storage' की मदद से, इन फ़ाइलों को सीधे मोबाइल डिवाइस और वेब ब्राउज़र से सुरक्षित तरीके से अपलोड किया जा सकता है. साथ ही, खराब नेटवर्क को आसानी से मैनेज किया जा सकता है.

ज़रूरी शर्तें

  1. Firebase SDK टूल इंस्टॉल करें.
  2. Firebase कंसोल में अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से जोड़ें.

डिफ़ॉल्ट Cloud Storage बकेट बनाना

  1. Firebase कंसोल के नेविगेशन पैनल में जाकर, स्टोरेज चुनें. इसके बाद, शुरू करें पर क्लिक करें.

  2. सुरक्षा नियमों का इस्तेमाल करके, Cloud Storage का डेटा सुरक्षित करने के बारे में दी गई सूचना देखें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए अपने नियम सेट अप करें.

  3. अपने डिफ़ॉल्ट Cloud Storage बकेट के लिए, कोई जगह चुनें.

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

    • अगर जगह चुनने में समस्या आ रही है, तो इसका मतलब है कि आपके प्रोजेक्ट में पहले से ही डिफ़ॉल्ट GCP रिसॉर्स लोकेशन मौजूद है. इसे प्रोजेक्ट बनाते समय या ऐसी कोई दूसरी सेवा सेट अप करते समय सेट किया गया था जिसके लिए जगह की जानकारी की सेटिंग की ज़रूरत होती है.

    अगर आप Blaze प्लान पर हैं, तो आपके पास कई बकेट बनाने का विकल्प है. हर बकेट की अपनी जगह की जानकारी होनी चाहिए.

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

सार्वजनिक ऐक्सेस सेट अप करें

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

इससे Cloud Storage सभी के लिए उपलब्ध हो जाता है, यहां तक कि वे लोग भी जो आपके ऐप्लिकेशन का इस्तेमाल नहीं कर रहे हैं. इसलिए, पुष्टि करने की सुविधा सेट अप करते समय, अपने Cloud Storage को फिर से सीमित करना न भूलें.

अपने ऐप्लिकेशन में Cloud Storage जोड़ना

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift पैकेज मैनेजर का इस्तेमाल करें.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ें पर जाएं.
  2. जब कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Cloud Storage लाइब्रेरी चुनें.
  5. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
  6. यह काम पूरा होने के बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी को अपने-आप रिज़ॉल्व और डाउनलोड करना शुरू कर देगा.

Cloud Storage सेट अप करना

Firebase का कोई रेफ़रंस बनाने या इस्तेमाल करने से पहले, आपको Firebase शुरू करना होगा. अगर आपने Firebase की किसी दूसरी सुविधा के लिए पहले ही ऐसा कर लिया है, तो इस चरण को छोड़ा जा सकता है.

  1. अपने UIApplicationDelegate में FirebaseCore मॉड्यूल को इंपोर्ट करें. साथ ही, ऐसे सभी Firebase मॉड्यूल को इंपोर्ट करें जिनका इस्तेमाल आपके ऐप्लिकेशन का ऐक्सेस मैनेज करता है. उदाहरण के लिए, Cloud Firestore और पुष्टि करने की सुविधा का इस्तेमाल करने के लिए:

    स्विफ़्टयूआई

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. अपने ऐप्लिकेशन का ऐक्सेस देने वाले व्यक्ति के application(_:didFinishLaunchingWithOptions:) तरीके में, FirebaseApp शेयर किए गए इंस्टेंस को कॉन्फ़िगर करें:

    स्विफ़्टयूआई

    // 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];
  3. अगर SwiftUI का इस्तेमाल किया जा रहा है, तो आपको ऐप्लिकेशन का ऐक्सेस देना होगा और उसे UIApplicationDelegateAdaptor या NSApplicationDelegateAdaptor की मदद से अपने App स्ट्रक्चर में अटैच करना होगा. आपको ऐप्लिकेशन सौंपने की सुविधा को स्वाइप करने की सुविधा भी बंद करनी होगी. ज़्यादा जानकारी के लिए, SwiftUI के निर्देश देखें.

    स्विफ़्टयूआई

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. डिफ़ॉल्ट Firebase ऐप्लिकेशन का इस्तेमाल करके, Cloud Storage सेवा की जानकारी पाएं:

    Swift

    let storage = Storage.storage()
    

    Objective-C

    FIRStorage *storage = [FIRStorage 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 को इन फ़ाइलों को ऐक्सेस करने की अनुमति देनी होगी. इसके लिए, 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 का इस्तेमाल करके, ज़्यादा पेचीदा ऐप्लिकेशन बनाना है, तो उस ऐप्लिकेशन से शुरू किया गया 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"];
    

अगले चरण