Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

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

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

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

फ़ायरबेस सहायक का उपयोग करने के लिए Android प्रारंभ करना पृष्ठ में दिए गए निर्देशों का पालन करें। सुनिश्चित करें कि आप Android Studio और Firebase Assistant दोनों के नवीनतम संस्करणों का उपयोग कर रहे हैं ( फ़ाइल> अपडेट की जाँच करें पर जाएँ)।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-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")
}

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

यदि आपने अभी तक नहीं किया है, तो केटीएक्स पुस्तकालयों के लिए एपीआई संदर्भ दस्तावेज़ देखें।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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