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 की उन सुविधाओं का इस्तेमाल करना चाहते हैं जो Firebase Assistant की मौजूदा क्षमताओं से बेहतर हैं, तो हो सकता है कि आप इन डिपेंडेंसी में कुछ मैन्युअल बदलाव करना चाहें:

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

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

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

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

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

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

Firebase Android BoM (बिल का कॉन्टेंट)

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

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

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

BOM प्लैटफ़ॉर्म के लिए, Grale की सहायता के बारे में ज़्यादा जानें.

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

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

  // 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) लाइब्रेरी मॉड्यूल

Firebase Kotlin एक्सटेंशन (KTX) के लाइब्रेरी मॉड्यूल, मुख्य Firebase लाइब्रेरी मॉड्यूल के छोटे हिस्से होते हैं. इनका इस्तेमाल खूबसूरत और इडियोटिक Kotlin कोड लिखने के लिए किया जा सकता है.

अपने ऐप्लिकेशन में KTX लाइब्रेरी मॉड्यूल का इस्तेमाल करने के लिए, -ktx सफ़िक्स को शामिल करने के लिए अपनी डिपेंडेंसी बदलें. हर KTX मॉड्यूल की डिपेंडेंसी, मुख्य लाइब्रेरी मॉड्यूल पर अपने-आप होती है. इसलिए, आपके ऐप्लिकेशन में दोनों डिपेंडेंसी शामिल करने की ज़रूरत नहीं होती है.

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

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

हर KTX मॉड्यूल के मुख्य मॉड्यूल के अलग-अलग सिंटैक्स एक्सटेंशन उपलब्ध हैं. उदाहरण के लिए, Analytics KTX मॉड्यूल की मदद से, इवेंट को आसानी से लॉग किया जा सकता है:

पहले (मुख्य मॉड्यूल का इस्तेमाल करके)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

बाद में (इसके बजाय KTX मॉड्यूल का इस्तेमाल करके)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Firebase ML और ऐप्लिकेशन सूची को छोड़कर, सभी Firebase प्रॉडक्ट में KTX मॉड्यूल की सुविधा होती है.

अगर आपने अब तक ऐसा नहीं किया है, तो KTX मॉड्यूल के लिए, एपीआई के रेफ़रंस दस्तावेज़ देखें.

फ़ीचर मॉड्यूल और Play की सुविधा डिलीवरी

मई 2021 (Firebase BoM v28.0.0) से Firebase के Android SDK टूल का इस्तेमाल, डाइनैमिक सुविधा वाले मॉड्यूल में किया जा सकता है. इन मॉड्यूल को आपके बेस ऐप्लिकेशन मॉड्यूल से अलग से इंस्टॉल किया जाता है.

अगर आपको डाइनैमिक सुविधा वाले मॉड्यूल के लिए सहायता चालू करनी है, तो अपने base मॉड्यूल की build.gradle फ़ाइल में यह डिपेंडेंसी जोड़ें:

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

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

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

सुविधा मॉड्यूल में Firebase SDK टूल का इस्तेमाल करते समय, इन चेतावनियों का ध्यान रखें:

  • Analytics के first_open इवेंट पर निर्भर डाइनैमिक लिंक या Firebase इन-ऐप्लिकेशन मैसेज जैसे प्रॉडक्ट, डाइनैमिक सुविधा वाले मॉड्यूल में इस्तेमाल किए जाने पर शायद इस इवेंट में शामिल न हो पाएं.

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

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

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

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

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

Firebase Android SDK टूल

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

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

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

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

पसंद के अन्य विषय