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

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

शुरू करने से पहले

  1. अगर आपने Apple प्लैटफ़ॉर्म के ऐप्लिकेशन के लिए, शुरू करने से जुड़ी गाइड के निर्देशों का पालन नहीं किया है, तो पक्का करें कि आपने ऐसा कर लिया हो. इनमें ये शामिल हैं:

    • Firebase प्रोजेक्ट बनाना.

    • अपने Apple प्लैटफ़ॉर्म के ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर करना और अपने ऐप्लिकेशन में Firebase लाइब्रेरी और Firebase कॉन्फ़िगरेशन फ़ाइल (GoogleService-Info.plist) जोड़कर, अपने ऐप्लिकेशन को Firebase से कनेक्ट करना.

  2. पक्का करें कि आपका Firebase प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर हो. Cloud Storage for Firebase का इस्तेमाल करने के लिए, यह ज़रूरी है. अगर Firebase और Google Cloudआपके लिए नए हैं, तो देखें कि क्या आपके पास 300 डॉलर का क्रेडिट पाने की ज़रूरी शर्तें पूरी होती हैं.

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

  1. Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं.

    अगर आपका प्रोजेक्ट, इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर नहीं है, तो आपको अपने प्रोजेक्ट को अपग्रेड करने के लिए कहा जाएगा.

  2. शुरू करें पर क्लिक करें.

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

  4. अपनी डिफ़ॉल्ट बकेट के लिए, Firebase Security Rules कॉन्फ़िगर करें. डेवलपमेंट के दौरान, सार्वजनिक ऐक्सेस के लिए अपने नियम सेट अप करें.

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

अब Firebase कंसोल में बकेट देखी जा सकती है. इसके लिए, डेटाबेस और स्टोरेज > स्टोरेज > फ़ाइलें टैब पर जाएं. आपकी डिफ़ॉल्ट बकेट के नाम का फ़ॉर्मैट PROJECT_ID.firebasestorage.app होता है.

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

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

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

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

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

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

अपने ऐप्लिकेशन में Cloud Storage सेट अप करना

  1. Firebase रेफ़रंस बनाने या इस्तेमाल करने से पहले, Firebase को शुरू करें.

    अगर आपने पहले ही कोई दूसरा Firebase प्रॉडक्ट सेट अप किया है, तो हो सकता है कि आपने यह काम पहले ही कर लिया हो. हालांकि, आपको इंपोर्ट की अपनी सूची में FirebaseStorage लाइब्रेरी जोड़नी होगी.

    1. अपने 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;
      // ...
      
    2. अपने ऐप्लिकेशन के डेलिगेट के application(_:didFinishLaunchingWithOptions:) तरीके में, a 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];
      
    3. (सिर्फ़ 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()
            }
          }
        }
      }
      
  2. डिफ़ॉल्ट Firebase ऐप्लिकेशन का इस्तेमाल करके, Cloud Storage सेवा का रेफ़रंस पाएं.

    1. पक्का करें कि आपके ऐप्लिकेशन के कोडबेस में मौजूद Firebase कॉन्फ़िगरेशन फ़ाइल (GoogleService-Info.plist), आपकी डिफ़ॉल्ट Cloud Storage बकेट के नाम से अपडेट हो.

      1. अपडेट की गई कॉन्फ़िगरेशन फ़ाइल पाएं..

      2. Xcode प्रोजेक्ट की रूट में मौजूद मौजूदा GoogleService-Info.plist फ़ाइल को बदलने के लिए, डाउनलोड की गई इस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें. अगर आपसे पूछा जाए, तो सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने का विकल्प चुनें.

        पक्का करें कि आपके ऐप्लिकेशन में, डाउनलोड की गई सबसे नई कॉन्फ़िगरेशन फ़ाइल ही हो और उसके फ़ाइल नाम में (2) जैसे अतिरिक्त वर्ण न जोड़े गए हों.

    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"];
    

अगले चरण