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, दोनों के सबसे नए वर्शन का इस्तेमाल किया जा रहा हो. इसके लिए, File > Check for updates पर जाएं.

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

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

Firebase Android BoM (Bill of Materials)

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

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

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

BoM प्लैटफ़ॉर्म के लिए Gradle के साथ काम करने वाले टूल के बारे में ज़्यादा जानें.

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

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:34.0.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 टूल का इस्तेमाल डाइनैमिक फ़ीचर मॉड्यूल में किया जा सकता है. ये मॉड्यूल, आपके बेस ऐप्लिकेशन मॉड्यूल से अलग से इंस्टॉल किए जाते हैं.

डाइनैमिक सुविधा वाले मॉड्यूल के लिए सहायता चालू करने के लिए, अपनी base मॉड्यूल की 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 plugin बनाम Google Play services बनाम Google Play Store

Google, Firebase, और Android के कई कॉम्पोनेंट के नाम रखने के तरीके एक जैसे हैं. यहां हर एक के बारे में कम शब्दों में जानकारी दी गई है:

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

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

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

Firebase Android SDK

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

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

Firebase, Android पर ज़्यादातर Firebase API के लिए, क्विकस्टार्ट सैंपल का कलेक्शन बनाए रखता है. इन क्विकस्टार्ट को हमारे सार्वजनिक Firebase GitHub क्विकस्टार्ट रिपॉज़िटरी में देखें.

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

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