Unity के लिए Cloud Storage का इस्तेमाल शुरू करें

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

वेब कंटेनर इंस्टॉल करने से पहले

Cloud Storage का इस्तेमाल करने से पहले, आपको:

  • अपना Unity प्रोजेक्ट रजिस्टर करें और इसे Firebase का इस्तेमाल करने के लिए कॉन्फ़िगर करें.

    • अगर आपके यूनिटी प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल हो रहा है, तो इसका मतलब है कि यह पहले से ही Firebase के लिए रजिस्टर और कॉन्फ़िगर हो चुका है.

    • अगर आपके पास Unity प्रोजेक्ट नहीं है, तो ऐप्लिकेशन का सैंपल डाउनलोड किया जा सकता है.

  • अपने Unity प्रोजेक्ट में, Firebase Unity SDK (खास तौर पर, FirebaseStorage.unitypackage) जोड़ें.

ध्यान दें कि Firebase को अपने यूनिटी प्रोजेक्ट में जोड़ने पर, Firebase कंसोल और आपके खुले हुए Unity प्रोजेक्ट, दोनों में टास्क शामिल होते हैं. उदाहरण के लिए, कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें डाउनलोड करने के बाद, उन्हें अपने Unity प्रोजेक्ट में ले जाएं.

डिफ़ॉल्ट 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 को फिर से सीमित करना न भूलें.

FirebaseStorage क्लास को ऐक्सेस करें

Firebase.Storage.FirebaseStorage, Cloud Storage Unity SDK का एंट्री पॉइंट है.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

आप Cloud Storage का इस्तेमाल करने के लिए तैयार हैं!

सबसे पहले, Cloud Storage के लिए रेफ़रंस बनाने का तरीका जानें.

ऐडवांस सेटअप

इस्तेमाल के कुछ मामले ऐसे हैं जिनके लिए अतिरिक्त सेटअप की ज़रूरत होती है:

अगर आपके उपयोगकर्ता दुनिया भर में हैं और आपको उनके आस-पास के उपयोगकर्ताओं के पास अपना डेटा स्टोर करना है, तो इसका पहला इस्तेमाल करना सबसे सही तरीका है. उदाहरण के लिए, अमेरिका, यूरोप, और एशिया में बकेट बनाकर इन इलाकों के उपयोगकर्ताओं का डेटा सेव किया जा सकता है, ताकि इंतज़ार का समय कम किया जा सके.

अगर आपके पास ऐक्सेस के अलग-अलग पैटर्न वाला डेटा है, तो इस्तेमाल का दूसरा उदाहरण मददगार होता है. उदाहरण के लिए: एक से ज़्यादा इलाकों या इलाके के हिसाब से ऐसा बकेट सेट अप किया जा सकता है जो तस्वीरों या अक्सर ऐक्सेस किए जाने वाले अन्य कॉन्टेंट को सेव करता हो. साथ ही, कोई नियरलाइन या कोल्डलाइन बकेट सेट अप कर सकता है, जिसमें उपयोगकर्ता के बैकअप या कभी-कभी ऐक्सेस किए जाने वाले कॉन्टेंट को स्टोर किया जाता है.

इस्तेमाल के इन मामलों में, आपको एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना होगा.

तीसरा उदाहरण आपके लिए तब काम का है, जब Google Drive जैसा कोई ऐप्लिकेशन बनाया जा रहा हो. इससे लोग, लॉग इन किए हुए एक से ज़्यादा खाते (उदाहरण के लिए, निजी खाता और काम से जुड़ा खाता) बना सकते हैं. हर अतिरिक्त खाते की पुष्टि करने के लिए, कस्टम Firebase ऐप्लिकेशन का इस्तेमाल किया जा सकता है.

एक से ज़्यादा Cloud Storage बकेट का इस्तेमाल करना

अगर आपको ऊपर दिए गए डिफ़ॉल्ट बकेट के अलावा, किसी Cloud Storage बकेट का इस्तेमाल करना है या किसी एक ऐप्लिकेशन में कई Cloud Storage बकेट का इस्तेमाल करना है, तो आपके पास FirebaseStorage का एक इंस्टेंस बनाने का विकल्प है जो आपके कस्टम बकेट का रेफ़रंस देता है:

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("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 का इस्तेमाल करके, ज़्यादा पेचीदा ऐप्लिकेशन बनाना है, तो उस ऐप्लिकेशन से शुरू किया गया FirebaseStorage का इंस्टेंस बनाया जा सकता है:

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

अगले चरण