Android और Firebase के बारे में और जानें

जैसे ही आप फायरबेस का उपयोग करके अपना एंड्रॉइड प्रोजेक्ट विकसित कर रहे हैं, आपको ऐसी अवधारणाएं मिल सकती हैं जो फायरबेस के लिए अपरिचित या विशिष्ट हैं। इस पृष्ठ का उद्देश्य उन प्रश्नों का उत्तर देना या आपको अधिक जानने के लिए संसाधनों की ओर संकेत करना है।

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

एंड्रॉइड स्टूडियो के लिए फायरबेस असिस्टेंट प्लगइन

फायरबेस असिस्टेंट एक एंड्रॉइड स्टूडियो प्लगइन है जो आपके एंड्रॉइड ऐप को फायरबेस प्रोजेक्ट के साथ पंजीकृत करता है और आपके एंड्रॉइड प्रोजेक्ट में आवश्यक फायरबेस कॉन्फ़िगरेशन फ़ाइलें, प्लगइन्स और निर्भरताएं जोड़ता है - सभी एंड्रॉइड स्टूडियो के भीतर से!

फायरबेस असिस्टेंट का उपयोग करने के लिए एंड्रॉइड गेटिंग स्टार्टिंग पेज में दिए गए निर्देशों का पालन करें। सुनिश्चित करें कि आप एंड्रॉइड स्टूडियो और फायरबेस असिस्टेंट दोनों के सबसे अद्यतित संस्करणों का उपयोग कर रहे हैं ( फ़ाइल> अपडेट के लिए जांचें पर जाएं)।

जब आप अपने ऐप में जोड़ने के लिए विशिष्ट फायरबेस उत्पादों का चयन करते हैं, तो फायरबेस असिस्टेंट स्वचालित रूप से आपके app/build.gradle फ़ाइल में आवश्यक निर्भरताएं घोषित करता है। हालाँकि, फ़ायरबेस सुविधाओं का उपयोग करने के लिए जो फ़ायरबेस सहायक की वर्तमान क्षमताओं से परे हैं, आप इन निर्भरताओं में कुछ मैन्युअल परिवर्तन करना चाह सकते हैं:

  • यदि आप फायरबेस एंड्रॉइड बीओएम का उपयोग करना चाहते हैं, तो बीओएम प्लेटफॉर्म को आयात करने के लिए अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle ) में निर्भरता को अपडेट करें। आपको प्रत्येक फायरबेस लाइब्रेरी निर्भरता लाइन से संस्करण भी हटाने होंगे।

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

Google सेवाएँ - प्लगइन और कॉन्फ़िग फ़ाइल

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

यदि आप फायरबेस कंसोल , मैनेजमेंट रेस्ट एपीआई , या फायरबेस सीएलआई के माध्यम से अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ते हैं, तो आपको मैन्युअल रूप से अपने प्रोजेक्ट में प्लगइन और कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी। हालाँकि, यदि आप फायरबेस असिस्टेंट का उपयोग करते हैं, तो सेटअप के दौरान ये कार्य आपके लिए स्वचालित रूप से हो जाते हैं।

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

फायरबेस एंड्रॉइड बीओएम (सामग्री का बिल)

फायरबेस एंड्रॉइड बीओएम (सामग्री का बिल) आपको केवल एक संस्करण - बीओएम के संस्करण को निर्दिष्ट करके अपने सभी फायरबेस लाइब्रेरी संस्करणों को प्रबंधित करने में सक्षम बनाता है।

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

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

बीओएम प्लेटफार्मों के लिए ग्रैडल के समर्थन के बारे में और जानें।

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

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:32.4.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 का उपयोग करने के बारे में अक्सर पूछे जाने वाले कुछ प्रश्न दिए गए हैं:

फायरबेस बीओएम संस्करणों की तुलना करें

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

फायरबेस कोटलिन एक्सटेंशन (केटीएक्स) लाइब्रेरी मॉड्यूल मुख्य फायरबेस लाइब्रेरी मॉड्यूल के छोटे साथी हैं, और आप उनका उपयोग सुंदर और मुहावरेदार कोटलिन कोड लिखने के लिए कर सकते हैं।

अपने ऐप में KTX लाइब्रेरी मॉड्यूल का उपयोग करने के लिए, -ktx प्रत्यय को शामिल करने के लिए अपनी निर्भरता बदलें। प्रत्येक KTX मॉड्यूल की स्वचालित रूप से मुख्य लाइब्रेरी मॉड्यूल पर निर्भरता होती है, इसलिए आपके ऐप में दोनों निर्भरताओं को शामिल करने की कोई आवश्यकता नहीं है।

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

  // 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")
}

फायरबेस एमएल और ऐप इंडेक्सिंग को छोड़कर सभी फायरबेस उत्पाद केटीएक्स मॉड्यूल की पेशकश करते हैं।

यदि आपने अभी तक नहीं किया है, तो KTX मॉड्यूल के लिए API संदर्भ दस्तावेज़ देखें।

फ़ीचर मॉड्यूल और प्ले फ़ीचर डिलीवरी

मई 2021 (फायरबेस बीओएम v28.0.0) तक, फायरबेस एंड्रॉइड एसडीके का उपयोग डायनामिक फीचर मॉड्यूल में किया जा सकता है जो आपके बेस एप्लिकेशन मॉड्यूल से अलग से इंस्टॉल किए जाते हैं।

डायनामिक फ़ीचर मॉड्यूल के लिए समर्थन सक्षम करने के लिए, अपने बेस मॉड्यूल की build.gradle फ़ाइल में निम्नलिखित निर्भरता जोड़ें:

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

अब जब आपने डायनामिक मॉड्यूल समर्थन जोड़ लिया है, तो आप अपने ऐप के फीचर मॉड्यूल में फायरबेस एसडीके निर्भरता (फायरबेस बीओएम के साथ या उसके बिना) जोड़ सकते हैं और उन्हें सामान्य रूप से उपयोग कर सकते हैं।

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

फीचर मॉड्यूल में फायरबेस एसडीके का उपयोग करते समय निम्नलिखित चेतावनियों से सावधान रहें:

  • डायनेमिक लिंक या फायरबेस इन-ऐप मैसेजिंग जैसे उत्पाद जो एनालिटिक्स first_open इवेंट पर निर्भर करते हैं, डायनेमिक फीचर मॉड्यूल में उपयोग किए जाने पर इस इवेंट को मिस कर सकते हैं।

  • क्लाउड फायरस्टोर और ऑथेंटिकेशन का एक साथ उपयोग करते समय, आपको हमेशा उन दोनों को एक ही मॉड्यूल में शामिल करना चाहिए। यदि यह संभव नहीं है, तो सुनिश्चित करें कि प्रमाणीकरण क्लाउड फायरस्टोर से पहले लोड किया गया है; अन्यथा, कुछ क्लाउड फायरस्टोर परिचालनों में गलत प्रमाणीकरण स्थिति हो सकती है।

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

फ़ीचर मॉड्यूल और प्ले फ़ीचर डिलीवरी के बारे में अधिक जानकारी के लिए, प्ले फ़ीचर डिलीवरी का अवलोकन पर जाएँ।

Google सेवाएं ग्रैडल प्लगइन बनाम Google Play सेवाएं बनाम Google Play Store

Google, Firebase और Android पारिस्थितिकी तंत्र के कई हिस्सों में समान नामकरण परंपराएँ हैं। यहां प्रत्येक के लिए एक संक्षिप्त विवरण दिया गया है:

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

फायरबेस एंड्रॉइड एसडीके के लिए ओपन सोर्स संसाधन

फायरबेस ओपन सोर्स विकास का समर्थन करता है, और हम सामुदायिक योगदान और प्रतिक्रिया को प्रोत्साहित करते हैं।

फायरबेस एंड्रॉइड एसडीके

अधिकांश फायरबेस एंड्रॉइड एसडीके हमारे सार्वजनिक फायरबेस गिटहब रिपॉजिटरी में ओपन सोर्स लाइब्रेरी के रूप में विकसित किए गए हैं। हम शेष निजी तौर पर विकसित फायरबेस लाइब्रेरीज़ को जल्द ही अपने सार्वजनिक GitHub पर स्थानांतरित करने के लिए सक्रिय रूप से काम कर रहे हैं!

त्वरित प्रारंभ नमूने

फायरबेस एंड्रॉइड पर अधिकांश फायरबेस एपीआई के लिए क्विकस्टार्ट नमूनों का संग्रह रखता है। इन क्विकस्टार्ट को हमारे सार्वजनिक फायरबेस GitHub क्विकस्टार्ट रिपॉजिटरी में खोजें।

आप प्रत्येक क्विकस्टार्ट को एंड्रॉइड स्टूडियो प्रोजेक्ट के रूप में खोल सकते हैं, फिर उन्हें मोबाइल डिवाइस या वर्चुअल डिवाइस (एवीडी) पर चला सकते हैं। या आप फायरबेस एसडीके का उपयोग करने के लिए उदाहरण कोड के रूप में इन क्विकस्टार्ट का उपयोग कर सकते हैं।

रुचि के अन्य विषय