जैसे ही आप फायरबेस का उपयोग करके अपना एंड्रॉइड प्रोजेक्ट विकसित कर रहे हैं, आपको ऐसी अवधारणाएं मिल सकती हैं जो फायरबेस के लिए अपरिचित या विशिष्ट हैं। इस पृष्ठ का उद्देश्य उन प्रश्नों का उत्तर देना या आपको अधिक जानने के लिए संसाधनों की ओर संकेत करना है।
यदि इस पृष्ठ पर शामिल नहीं किए गए किसी विषय के बारे में आपके कोई प्रश्न हैं, तो बेझिझक हमारे ऑनलाइन समुदायों में से किसी एक पर जाएँ। हम इस पेज को समय-समय पर नए विषयों के साथ अपडेट भी करेंगे, इसलिए यह देखने के लिए वापस जांचें कि क्या हमने वह विषय जोड़ा है जिसके बारे में आप सीखना चाहते हैं!
एंड्रॉइड स्टूडियो के लिए फायरबेस असिस्टेंट प्लगइन
फायरबेस असिस्टेंट एक एंड्रॉइड स्टूडियो प्लगइन है जो आपके एंड्रॉइड ऐप को फायरबेस प्रोजेक्ट के साथ पंजीकृत करता है और आपके एंड्रॉइड प्रोजेक्ट में आवश्यक फायरबेस कॉन्फ़िगरेशन फ़ाइलें, प्लगइन्स और निर्भरताएं जोड़ता है - सभी एंड्रॉइड स्टूडियो के भीतर से!
फायरबेस असिस्टेंट का उपयोग करने के लिए एंड्रॉइड गेटिंग स्टार्टिंग पेज में दिए गए निर्देशों का पालन करें। सुनिश्चित करें कि आप एंड्रॉइड स्टूडियो और फायरबेस असिस्टेंट दोनों के सबसे अद्यतित संस्करणों का उपयोग कर रहे हैं ( फ़ाइल> अपडेट के लिए जांचें पर जाएं)।
जब आप अपने ऐप में जोड़ने के लिए विशिष्ट फायरबेस उत्पादों का चयन करते हैं, तो फायरबेस असिस्टेंट स्वचालित रूप से आपके app/build.gradle
फ़ाइल में आवश्यक निर्भरताएं घोषित करता है। हालाँकि, फ़ायरबेस सुविधाओं का उपयोग करने के लिए जो फ़ायरबेस सहायक की वर्तमान क्षमताओं से परे हैं, आप इन निर्भरताओं में कुछ मैन्युअल परिवर्तन करना चाह सकते हैं:
यदि आप फायरबेस एंड्रॉइड बीओएम का उपयोग करना चाहते हैं, तो बीओएम प्लेटफॉर्म को आयात करने के लिए अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर
app/build.gradle
) में निर्भरता को अपडेट करें। आपको प्रत्येक फायरबेस लाइब्रेरी निर्भरता लाइन से संस्करण भी हटाने होंगे।यदि आप कोटलिन एक्सटेंशन लाइब्रेरी का उपयोग करना चाहते हैं, तो इसके बजाय फायरबेस लाइब्रेरी के
ktx
संस्करण का उपयोग करने के लिए अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर परapp/build.gradle
) में जोड़ी गई निर्भरता लाइन को संशोधित करें।
Google सेवाएँ - प्लगइन और कॉन्फ़िग फ़ाइल
अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ने के हिस्से के रूप में, आपको अपने प्रोजेक्ट में google-services
प्लगइन और एक
कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी।
यदि आप फायरबेस कंसोल , मैनेजमेंट रेस्ट एपीआई , या फायरबेस सीएलआई के माध्यम से अपने एंड्रॉइड प्रोजेक्ट में फायरबेस जोड़ते हैं, तो आपको मैन्युअल रूप से अपने प्रोजेक्ट में प्लगइन और कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी। हालाँकि, यदि आप फायरबेस असिस्टेंट का उपयोग करते हैं, तो सेटअप के दौरान ये कार्य आपके लिए स्वचालित रूप से हो जाते हैं।
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.3.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 का उपयोग करने के बारे में अक्सर पूछे जाने वाले कुछ प्रश्न दिए गए हैं:
बीओएम में निर्दिष्ट लाइब्रेरी संस्करण को ओवरराइड करने का तरीका यहां बताया गया है:
बीओएम प्लेटफॉर्म आयात करने के लिए लाइन बनाए रखें।
लाइब्रेरी की निर्भरता पंक्ति में, वांछित लाइब्रेरी संस्करण निर्दिष्ट करें। उदाहरण के लिए, यदि आप ऐप इंडेक्सिंग के v18.0.0 का उपयोग करना चाहते हैं तो निर्भरता की घोषणा कैसे करें, इससे कोई फर्क नहीं पड़ता कि बीओएम में कौन सा संस्करण निर्दिष्ट है, लेकिन आप प्रमाणीकरण और क्लाउड फायरस्टोर के लिए बीओएम के संस्करणों का उपयोग करना चाहते हैं:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
नहीं, वास्तव में अपने ऐप में फायरबेस लाइब्रेरीज़ को जोड़ने और उपयोग करने के लिए, आपको प्रत्येक लाइब्रेरी को अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle
) में एक अलग निर्भरता लाइन के रूप में घोषित करना होगा।
BoM का उपयोग यह सुनिश्चित करता है कि आपके ऐप में किसी भी Firebase लाइब्रेरी के संस्करण संगत हैं, लेकिन BoM वास्तव में उन Firebase लाइब्रेरी को आपके ऐप में नहीं जोड़ता है।
हाँ! जब आप अपनी विशिष्ट फायरबेस लाइब्रेरी निर्भरता लाइनें घोषित करते हैं, तो बस KTX लाइब्रेरी नाम का उपयोग करें, जैसे:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
नहीं, फ़ायरबेस Android BoM केवल फ़ायरबेस लाइब्रेरीज़ के लिए लाइब्रेरी संस्करण प्रबंधित करता है। एकमात्र अपवाद Google मोबाइल विज्ञापन SDK को शामिल करना है क्योंकि यह आमतौर पर Firebase ऐप्स में उपयोग किया जाता है।
भले ही प्रत्येक फायरबेस लाइब्रेरी को स्वतंत्र रूप से संस्करणित किया गया है, फिर भी उन्हें यह सुनिश्चित करने के लिए एक साथ बनाया गया है कि प्रत्येक लाइब्रेरी की नवीनतम रिलीज़ दूसरों के साथ संगत है।
अपने ऐप के फायरबेस लाइब्रेरी संस्करणों को प्रबंधित करने के लिए बीओएम का उपयोग करके, आपको यह ट्रैक करने की आवश्यकता नहीं है कि फायरबेस लाइब्रेरी का कौन सा संस्करण किसी अन्य फायरबेस लाइब्रेरी के साथ संगत है।
भले ही आप अभी अपने ऐप में केवल एक फायरबेस लाइब्रेरी का उपयोग करते हैं, फिर भी हम BoM का उपयोग करने की सलाह देते हैं क्योंकि आप कभी नहीं जानते कि आप कब दूसरी फायरबेस लाइब्रेरी का उपयोग करना चाहेंगे!
हाँ, आप अभी भी BoM का उपयोग कर सकते हैं! ग्रैडल 5.0 और बाद के संस्करण के लिए, BoM समर्थन स्वचालित रूप से सक्षम है। हालाँकि, ग्रैडल के पुराने संस्करणों के लिए, आपको बस BoM सुविधा को सक्षम करने और BoM को थोड़ा अलग तरीके से आयात करने की आवश्यकता है।
अपनी
settings.gradle
फ़ाइल में,enableFeaturePreview('IMPROVED_POM_SUPPORT')
जोड़ें।अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर
app/build.gradle
) में, बीओएम को एक सामान्य लाइब्रेरी की तरह आयात करें (platform
संशोधक के बिना), जैसे:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.3.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' }
GitHub पर Firebase Android SDK रेपो पर जाएँ।
फायरबेस बीओएम संस्करणों की तुलना करें
कोटलिन एक्सटेंशन (KTX) लाइब्रेरीज़
फायरबेस कोटलिन एक्सटेंशन (केटीएक्स) लाइब्रेरी बेस फायरबेस एसडीके के छोटे साथी हैं जो आपको सुंदर और मुहावरेदार कोटलिन कोड लिखने की अनुमति देते हैं।
अपने ऐप में KTX लाइब्रेरी का उपयोग करने के लिए, -ktx
प्रत्यय को शामिल करने के लिए अपनी निर्भरता बदलें। प्रत्येक KTX लाइब्रेरी की स्वचालित रूप से बेस लाइब्रेरी पर निर्भरता होती है, इसलिए आपके ऐप में दोनों निर्भरताओं को शामिल करने की कोई आवश्यकता नहीं है।
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.3.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' }
प्रत्येक 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 (फायरबेस बीओएम 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 क्विकस्टार्ट रिपॉजिटरी में खोजें।
आप प्रत्येक क्विकस्टार्ट को एंड्रॉइड स्टूडियो प्रोजेक्ट के रूप में खोल सकते हैं, फिर उन्हें मोबाइल डिवाइस या वर्चुअल डिवाइस (एवीडी) पर चला सकते हैं। या आप फायरबेस एसडीके का उपयोग करने के लिए उदाहरण कोड के रूप में इन क्विकस्टार्ट का उपयोग कर सकते हैं।
रुचि के अन्य विषय
- Google Play सेवाओं पर Firebase Android SDK की निर्भरता
- अपने फायरबेस ऐप को Google Play से लिंक करें
- अपने Play गेम्स सेवा प्रोजेक्ट के साथ एकीकृत करें