Android के लिए Firebase को समझना

Firebase का इस्तेमाल करके, Android प्रोजेक्ट डेवलप करते समय, आपको कुछ ऐसे कॉन्सेप्ट के बारे में पता चल सकता है जिनके बारे में आपको पहले से जानकारी न हो या जो सिर्फ़ Firebase के लिए हों. इस पेज का मकसद, उन सवालों के जवाब देना या ज़्यादा जानने के लिए आपको संसाधनों के बारे में बताना है.

अगर आपके पास किसी ऐसे विषय के बारे में सवाल हैं जो इस पेज पर शामिल नहीं है, तो बेझिझक हमारी किसी ऑनलाइन कम्यूनिटी पर जाएं. हम इस पेज को समय-समय पर नए विषयों के साथ अपडेट भी करेंगे. इसलिए, यह देखने के लिए वापस आएं कि हमने वह विषय जोड़ा है या नहीं जिसके बारे में आपको जानना है!

Android Studio के लिए Firebase Assistant प्लगिन

Firebase Assistant, Android Studio का एक प्लगिन है. यह आपके Android ऐप्लिकेशन को Firebase प्रोजेक्ट के साथ रजिस्टर करता है. साथ ही, आपके Android प्रोजेक्ट में ज़रूरी Firebase कॉन्फ़िगरेशन फ़ाइलें, प्लगिन, और डिपेंडेंसी जोड़ता है. यह सब Android Studio में ही किया जाता है!

Firebase Assistant का इस्तेमाल करने के लिए, Android के लिए शुरू करने से जुड़ा पेज पर दिए गए निर्देशों का पालन करें. पक्का करें कि Android Studio और Firebase Assistant, दोनों के सबसे नए वर्शन का इस्तेमाल किया जा रहा हो. इसके लिए, फ़ाइल > अपडेट देखें पर जाएं.

जब अपने ऐप्लिकेशन में जोड़ने के लिए, Firebase के कुछ खास प्रॉडक्ट चुने जाते हैं, तो Firebase Assistant, app/build.gradle फ़ाइल में ज़रूरी डिपेंडेंसी अपने-आप जोड़ देता है. ध्यान दें कि अगर आपको Firebase Android BoM (सुझाया जाता है) का इस्तेमाल करना है, तो BoM प्लैटफ़ॉर्म इंपोर्ट करने के लिए, मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में डिपेंडेंसी अपडेट करें. आपको Firebase लाइब्रेरी की हर डिपेंडेंसी लाइन से वर्शन भी हटाने होंगे.

इसके अलावा, Firebase के कुछ प्रॉडक्ट इस्तेमाल करने के लिए, आपको Android Studio के बाहर एपीआई चालू करने या संसाधन उपलब्ध कराने होंगे. Firebase Assistant में हर प्रॉडक्ट के लिए दिए गए निर्देशों में, उन अतिरिक्त कार्रवाइयों के बारे में बताया जाता है जो आपको करनी होंगी. उदाहरण के लिए, Cloud Firestore का इस्तेमाल करने के लिए, आपको Firebase कंसोल में अपना डेटाबेस और नियम सेट अप करने होंगे.

Google की सेवाएं — प्लगिन और कॉन्फ़िगरेशन फ़ाइल

अपने Android प्रोजेक्ट में Firebase जोड़ने के लिए, आपको अपने प्रोजेक्ट में google-services प्लगिन और एक google-services.json कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी.

अगर आपने Firebase को अपने Android प्रोजेक्ट में Firebase कंसोल, Management REST API या Firebase CLI के ज़रिए जोड़ा है, तो आपको अपने प्रोजेक्ट में प्लगिन और कॉन्फ़िगरेशन फ़ाइल मैन्युअल तरीके से जोड़नी होगी. हालांकि, अगर आपने Firebase Assistant का इस्तेमाल किया है, तो सेटअप के दौरान ये टास्क आपके लिए अपने-आप पूरे हो जाते हैं.

Google की सेवाओं के प्लगिन और कॉन्फ़िगरेशन फ़ाइल के एक साथ काम करने के तरीके के बारे में जानने के लिए, Android का दस्तावेज़ देखें.

Firebase Android BoM (Bill of Materials)

Firebase Android BoM (Bill of Materials) की मदद से, Firebase लाइब्रेरी के सभी वर्शन मैनेज किए जा सकते हैं. इसके लिए, आपको सिर्फ़ एक वर्शन तय करना होगा. यह वर्शन, BoM's version होगा.

अपने ऐप्लिकेशन में Firebase BoM का इस्तेमाल करने पर, BoM अपने-आप BoM के वर्शन के हिसाब से मैप की गई, अलग-अलग लाइब्रेरी के वर्शन पुल कर लेता है. लाइब्रेरी के सभी वर्शन एक-दूसरे के साथ काम करेंगे. अपने ऐप्लिकेशन में BoM's का वर्शन अपडेट करने पर, आपके ऐप्लिकेशन में इस्तेमाल की जा रही Firebase की सभी लाइब्रेरी, उस BoM वर्शन के हिसाब से मैप किए गए वर्शन में अपडेट हो जाएंगी.

यह जानने के लिए कि Firebase लाइब्रेरी के कौनसे वर्शन, BoM वर्शन के हिसाब से मैप किए गए हैं, उस BoM वर्शन के लिए रिलीज़ नोट देखें. अगर आपको लाइब्रेरी के वर्शन की तुलना, एक BoM वर्शन के हिसाब से मैप किए गए लाइब्रेरी के वर्शन से, दूसरे BoM वर्शन के हिसाब से मैप किए गए लाइब्रेरी के वर्शन से करनी है, तो नीचे दिया गया तुलना करने वाला विजेट इस्तेमाल करें.

प्लेटफ़ॉर्म के लिए BoMGradle के सपोर्ट के बारे में ज़्यादा जानें.

यहां बताया गया है कि डिपेंडेंसी तय करने के लिए, Firebase Android BoM का इस्तेमाल कैसे करें मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में. BoM का इस्तेमाल करते समय, डिपेंडेंसी लाइनों में लाइब्रेरी के अलग-अलग वर्शन तय नहीं किए जाते.

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

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Firebase Android BoM का इस्तेमाल करने के बारे में, अक्सर पूछे जाने वाले कुछ सवाल यहां दिए गए हैं:

वर्शन की तुलना करनाFirebase BoM

Kotlin एक्सटेंशन (KTX) लाइब्रेरी मॉड्यूल

फ़ीचर मॉड्यूल और Play Feature Delivery

मई 2021 (Firebase BoM v28.0.0) से, Firebase Android SDK का इस्तेमाल, डाइनैमिक फ़ीचर मॉड्यूल में किया जा सकता है. ये मॉड्यूल, आपके बेस ऐप्लिकेशन मॉड्यूल से अलग इंस्टॉल किए जाते हैं.

डाइनैमिक फ़ीचर मॉड्यूल के लिए सपोर्ट चालू करने के लिए, अपने बेस मॉड्यूल की build.gradle फ़ाइल में यह डिपेंडेंसी जोड़ें:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta04'
}

अब डाइनैमिक मॉड्यूल के लिए सपोर्ट जोड़ने के बाद, अपने ऐप्लिकेशन के फ़ीचर मॉड्यूल में Firebase SDK डिपेंडेंसी (Firebase BoM के साथ या उसके बिना) जोड़ी जा सकती हैं. साथ ही, उनका इस्तेमाल सामान्य तरीके से किया जा सकता है.

उदाहरण के लिए, अगर आपका ऐप्लिकेशन, किसी खास रीयल टाइम सुविधा के लिए Realtime Database का इस्तेमाल करता है, तो firebase-database डिपेंडेंसी को बेस मॉड्यूल के बजाय, फ़ीचर मॉड्यूल के build.gradle में जोड़ा जा सकता है. इससे ज़्यादातर उपयोगकर्ताओं के लिए, डाउनलोड का साइज़ कम हो जाएगा.

फ़ीचर मॉड्यूल में Firebase SDK का इस्तेमाल करते समय, इन चेतावनियों के बारे में जानें:

  • Dynamic Links या Firebase In-App Messaging जैसे प्रॉडक्ट, Analytics first_open इवेंट पर निर्भर करते हैं. अगर इन्हें डाइनैमिक फ़ीचर मॉड्यूल में इस्तेमाल किया जाता है, तो हो सकता है कि ये इवेंट काम न करें.

  • एक साथ Cloud Firestore और Authentication का इस्तेमाल करते समय, आपको हमेशा इन दोनों को एक ही मॉड्यूल में शामिल करना चाहिए. अगर ऐसा नहीं किया जा सकता, तो पक्का करें कि Authentication लोड होने से पहले Cloud Firestore लोड हो जाए. ऐसा न होने पर, Cloud Firestore के कुछ ऑपरेशन में पुष्टि करने की स्थिति गलत हो सकती है.

  • डाइनैमिक फ़ीचर मॉड्यूल की डिपेंडेंसी के तौर पर firebase-crashlytics-ndk का इस्तेमाल करते समय, आपको अपने ऐप्लिकेशन की build.gradle फ़ाइल में unstrippedNativeLibsDir प्रॉपर्टी सेट करनी होगी. इसके बारे में, Crashlytics NDK के दस्तावेज़ में बताया गया है.

फ़ीचर मॉड्यूल और Play Feature Delivery के बारे में ज़्यादा जानने के लिए, Play Feature Delivery की खास जानकारी देखें.

Google services Gradle प्लगिन बनाम Google Play services बनाम Google Play Store

Google, Firebase, और Android के इकोसिस्टम के कई हिस्सों के नामकरण के तरीके मिलते-जुलते हैं. यहां हर हिस्से के बारे में कम शब्दों में जानकारी दी गई है:

Google services Gradle प्लगिन
यह एक Gradle प्लगिन (com.google.gms.google-services) है, जो बिल्ड प्रोसेस में लगने वाले समय पर चलता है. इससे यह पक्का होता है कि आपके ऐप्लिकेशन में Firebase और Google API को ऐक्सेस करने के लिए सही कॉन्फ़िगरेशन हो. नाम के बावजूद, इस प्लगिन का Google Play services से कोई संबंध नहीं है. इसके बारे में अगली एंट्री में बताया गया है. साथ ही, रनटाइम के दौरान आपके ऐप्लिकेशन की सुविधाओं पर इसका कोई असर नहीं पड़ता.
यह प्लगिन, google-services.json फ़ाइल को भी प्रोसेस करता है. इस फ़ाइल को, Firebase सेट अप करने के दौरान अपने ऐप्लिकेशन में जोड़ा जाता है. Google services Gradle प्लगिन के बारे में ज़्यादा जानें.
Google Play services
यह एक बैकग्राउंड में चलने वाली सेवा है, जो Android डिवाइस पर चलती है और डिवाइस पर मौजूद ऐप्लिकेशन को Google के कई सामान्य Google APIs (जैसे, Google Maps और Google साइन-इन) उपलब्ध कराती है
इन सामान्य Google APIs को एक ही सेवा में शामिल करने से, अन्य ऐप्लिकेशन का साइज़ कम हो जाता है. साथ ही, डिवाइस को ओएस अपडेट के बिना, सुरक्षा से जुड़े अपडेट और सुविधाओं में सुधार अपने-आप मिलते रहते हैं. Google Play services के बारे में ज़्यादा जानें .
Google Play Store
यह एक ऐसा स्टोर है जहां से Android डिवाइस पर ऐप्लिकेशन, फ़िल्में, किताबें वगैरह डाउनलोड की जा सकती हैं
डेवलपर के तौर पर, Google Play Console के ज़रिए अपने ऐप्लिकेशन के डिस्ट्रिब्यूशन, रिलीज़ वगैरह को मैनेज किया जाता है. अगर किसी डिवाइस में Google Play Store है, तो उसमें Google Play services भी चल रही होती हैं. इसके बारे में पिछली एंट्री में बताया गया है. डेवलपर के लिए Google Play Store के बारे में ज़्यादा जानें.
Google Play Games services
यह मोबाइल गेम डेवलपर के लिए एपीआई का एक सेट है
Google Play Games services के बारे में ज़्यादा जानें और यह भी जानें कि अपने Google Play Games services प्रोजेक्ट को Firebase के साथ कैसे इंटिग्रेट करें.

Firebase Android SDK के लिए ओपन सोर्स संसाधन

Firebase, ओपन सोर्स डेवलपमेंट के साथ काम करता है. हम कम्यूनिटी के योगदान और फ़ीडबैक को बढ़ावा देते हैं.

Firebase Android SDK

Firebase Android SDK में से ज़्यादातर को, हमारे सार्वजनिक Firebase GitHub डेटाबेस में ओपन सोर्स लाइब्रेरी के तौर पर डेवलप किया जाता है. हम जल्द ही, निजी तौर पर डेवलप की गई Firebase की बची हुई लाइब्रेरी को अपने सार्वजनिक GitHub डेटाबेस में लाने पर काम कर रहे हैं!

क्विकस्टार्ट के सैंपल

Firebase, Android पर Firebase के ज़्यादातर एपीआई के लिए, क्विकस्टार्ट के सैंपल का कलेक्शन बनाए रखता है. ये क्विकस्टार्ट, हमारे सार्वजनिक Firebase GitHub क्विकस्टार्ट डेटाबेस में मौजूद हैं.

हर क्विकस्टार्ट को Android Studio प्रोजेक्ट के तौर पर खोला जा सकता है. इसके बाद, इन्हें किसी मोबाइल डिवाइस या वर्चुअल डिवाइस (एवीडी) पर चलाया जा सकता है. इसके अलावा, Firebase SDK का इस्तेमाल करने के लिए, इन क्विकस्टार्ट को उदाहरण के तौर पर इस्तेमाल किया जा सकता है.

दिलचस्पी के अन्य विषय