Android पर Cloud Storage के साथ शुरुआत करें

फायरबेस के लिए क्लाउड स्टोरेज आपको छवियों और वीडियो जैसे उपयोगकर्ता द्वारा जेनरेट की गई सामग्री को अपलोड और साझा करने देता है, जो आपको अपने ऐप्स में समृद्ध मीडिया सामग्री बनाने की अनुमति देता है। आपका डेटा में संग्रहित है Google क्लाउड संग्रहण एक एक्साबाइट पैमाने उच्च उपलब्धता और वैश्विक अतिरेक के साथ वस्तु भंडारण समाधान - बाल्टी। फायरबेस के लिए क्लाउड स्टोरेज आपको इन फ़ाइलों को सीधे मोबाइल उपकरणों और वेब ब्राउज़र से सुरक्षित रूप से अपलोड करने देता है, स्पॉटी नेटवर्क को आसानी से संभालता है।

आवश्यक शर्तें

आप पहले से ही नहीं है, तो अपने Android परियोजना के लिए Firebase जोड़ने

एक डिफ़ॉल्ट क्लाउड स्टोरेज बकेट बनाएं

  1. के नेविगेशन फलक से Firebase कंसोल , भंडारण का चयन करें, उसके बाद ही प्रारंभ करें।

  2. सुरक्षा नियमों का उपयोग करके अपने क्लाउड स्टोरेज डेटा को सुरक्षित करने के बारे में संदेश की समीक्षा करें। विकास के दौरान, पर विचार सार्वजनिक उपयोग के लिए अपने नियमों की स्थापना

  3. एक का चयन करें स्थान अपने डिफ़ॉल्ट क्लाउड मेमोरी बकेट के लिए।

    • इस स्थान की स्थापना अपने प्रोजेक्ट की है डिफ़ॉल्ट Google मेघ प्लेटफ़ॉर्म (GCP) संसाधन स्थान । ध्यान दें कि यह स्थान अपनी परियोजना है कि एक स्थान सेटिंग की आवश्यकता है, विशेष रूप से, अपने में जीसीपी सेवाओं के लिए उपयोग किया जाएगा बादल Firestore डेटाबेस और अपने App इंजन एप्लिकेशन (जो अगर तुम बादल समयबद्धक का उपयोग आवश्यक है)।

    • यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। इसे या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को स्थापित करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।

    आप ब्लेज़ योजना ली हुई है, तो आप कर सकते हैं अनेक बकेट बनाने , अपने स्वयं के साथ प्रत्येक स्थान

  4. पूर्ण क्लिक करें।

सार्वजनिक पहुंच सेट करें

फायरबेस के लिए क्लाउड स्टोरेज एक घोषणात्मक नियम भाषा प्रदान करता है जो आपको यह परिभाषित करने की अनुमति देता है कि आपके डेटा को कैसे संरचित किया जाना चाहिए, इसे कैसे अनुक्रमित किया जाना चाहिए, और आपका डेटा कब से पढ़ा और लिखा जा सकता है। डिफ़ॉल्ट रूप से, क्लाउड स्टोरेज तक पढ़ने और लिखने की पहुंच प्रतिबंधित है, इसलिए केवल प्रमाणित उपयोगकर्ता ही डेटा पढ़ या लिख ​​सकते हैं। की स्थापना के बिना आरंभ करने के लिए प्रमाणीकरण , आप कर सकते हैं सार्वजनिक पहुँच के लिए अपने नियम कॉन्फ़िगर

यह क्लाउड स्टोरेज को किसी के लिए भी खुला बनाता है, यहां तक ​​कि आपके ऐप का उपयोग न करने वाले लोगों के लिए भी, इसलिए प्रमाणीकरण सेट करते समय अपने क्लाउड स्टोरेज को फिर से प्रतिबंधित करना सुनिश्चित करें।

अपने ऐप में क्लाउड स्टोरेज एसडीके जोड़ें

का उपयोग करते हुए Firebase एंड्रॉयड बीओएम , अपने मॉड्यूल (एप्लिकेशन-स्तरीय) Gradle फ़ाइल (आमतौर पर में क्लाउड संग्रहण एंड्रॉयड पुस्तकालय के लिए निर्भरता की घोषणा app/build.gradle )।

जावा

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.1')

    // Declare the dependency for the Cloud Storage library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-storage'
}

का उपयोग करके Firebase एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

(वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

dependencies {
    // Declare the dependency for the Cloud Storage library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-storage:20.0.0'
}

कोटलिन + केटीएक्स

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.1')

    // Declare the dependency for the Cloud Storage library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-storage-ktx'
}

का उपयोग करके Firebase एंड्रॉयड बीओएम , अपने अनुप्रयोग हमेशा Firebase एंड्रॉयड पुस्तकालयों के संगत संस्करणों का प्रयोग करेंगे।

(वैकल्पिक) बीओएम का उपयोग किए बिना Firebase पुस्तकालय निर्भरता घोषित

यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता रेखा में निर्दिष्ट करना होगा।

ध्यान दें कि अगर आप अपने एप्लिकेशन में एकाधिक Firebase पुस्तकालयों का उपयोग, हम अत्यधिक पुस्तकालय संस्करणों, जो सुनिश्चित करता है कि सभी संस्करणों के संगत हैं का प्रबंधन करने के बीओएम का उपयोग करें।

dependencies {
    // Declare the dependency for the Cloud Storage library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-storage-ktx:20.0.0'
}

क्लाउड स्टोरेज सेट करें

अपने क्लाउड मेमोरी बकेट तक पहुँचने में पहला कदम का एक उदाहरण बनाने के लिए है FirebaseStorage :

जावा

FirebaseStorage storage = FirebaseStorage.getInstance();

कोटलिन + केटीएक्स

storage = Firebase.storage

आप क्लाउड स्टोरेज का उपयोग शुरू करने के लिए तैयार हैं!

सबसे पहले, के बारे में जानने के जाने एक क्लाउड संग्रहण संदर्भ बनाने के

उन्नत व्यवस्था

कुछ उपयोग के मामले हैं जिनके लिए अतिरिक्त सेटअप की आवश्यकता होती है:

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

यदि आपके पास अलग-अलग एक्सेस पैटर्न वाले डेटा हैं तो दूसरा उपयोग केस मददगार है। उदाहरण के लिए: आप एक बहु-क्षेत्रीय या क्षेत्रीय बकेट सेट कर सकते हैं जो चित्रों या अन्य अक्सर एक्सेस की जाने वाली सामग्री को संग्रहीत करता है, और एक नियरलाइन या कोल्डलाइन बकेट जो उपयोगकर्ता बैकअप या अन्य बार-बार एक्सेस की गई सामग्री को संग्रहीत करता है।

इन उपयोग से किसी भी मामले में, आप करना चाहते हैं कई क्लाउड संग्रहण बाल्टी का उपयोग

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

एकाधिक क्लाउड स्टोरेज बकेट का उपयोग करें

यदि आपके पास क्लाउड स्टोरेज उपयोग करना चाहते हैं बाल्टी डिफ़ॉल्ट ऊपर प्रदान की, या एक ही एप्लिकेशन में एकाधिक क्लाउड संग्रहण बाल्टी का उपयोग के अलावा, आप का एक उदाहरण बना सकते हैं FirebaseStorage कि संदर्भ अपने कस्टम बाल्टी:

जावा

// Get a non-default Storage bucket
FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");

कोटलिन + केटीएक्स

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

आयातित बाल्टियों के साथ काम करना

जब Firebase में किसी मौजूदा क्लाउड मेमोरी बकेट आयात करने के लिए, आप Firebase इन का उपयोग करके फ़ाइलें उपयोग करने की क्षमता प्रदान करनी होगी gsutil उपकरण, में शामिल Google मेघ एसडीके :

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

आप में वर्णित के रूप अपनी परियोजना नंबर मिल सकता है 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 customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");

कोटलिन + केटीएक्स

// Get the default bucket from a custom FirebaseApp
val storage = Firebase.storage(customApp!!)

// Get a non-default bucket from a custom FirebaseApp
val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")

अगला कदम