जैसा कि आप 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
प्लगइन और
कॉन्फ़िगरेशन फ़ाइल जोड़ने की आवश्यकता है।
यदि आप अपने 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.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 का उपयोग करने के बारे में अक्सर पूछे जाने वाले कुछ प्रश्न यहां दिए गए हैं:
बीओएम में निर्दिष्ट पुस्तकालय संस्करण को ओवरराइड करने का तरीका यहां दिया गया है:
BoM प्लेटफॉर्म को आयात करने के लिए लाइन बनाए रखें।
पुस्तकालय की निर्भरता रेखा में, वांछित पुस्तकालय संस्करण निर्दिष्ट करें। उदाहरण के लिए, यदि आप ऐप इंडेक्सिंग के v18.0.0 का उपयोग करना चाहते हैं तो निर्भरता की घोषणा कैसे करें, इससे कोई फर्क नहीं पड़ता कि बीओएम में कौन सा संस्करण निर्दिष्ट है, लेकिन आप प्रमाणीकरण और क्लाउड फायरस्टोर के लिए बीओएम के संस्करणों का उपयोग करना चाहते हैं:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.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 लाइब्रेरी को आपके ऐप में नहीं जोड़ता है।
हाँ! जब आप अपनी विशिष्ट फायरबेस लाइब्रेरी निर्भरता लाइनों की घोषणा करते हैं, तो बस केटीएक्स लाइब्रेरी नाम का उपयोग करें, जैसे:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.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' }
नहीं। फायरबेस एंड्रॉइड बीओएम केवल फायरबेस पुस्तकालयों के लिए पुस्तकालय संस्करणों का प्रबंधन करता है। एकमात्र अपवाद Google मोबाइल विज्ञापन SDK को शामिल करना है क्योंकि यह आमतौर पर Firebase ऐप्स में उपयोग किया जाता है।
भले ही प्रत्येक फ़ायरबेस लाइब्रेरी को स्वतंत्र रूप से संस्करणित किया गया है, फिर भी उन्हें यह सुनिश्चित करने के लिए एक साथ बनाया गया है कि प्रत्येक लाइब्रेरी की नवीनतम रिलीज़ दूसरों के साथ संगत है।
अपने ऐप के फ़ायरबेस लाइब्रेरी संस्करणों को प्रबंधित करने के लिए बीओएम का उपयोग करके, आपको यह ट्रैक करने की आवश्यकता नहीं है कि फ़ायरबेस लाइब्रेरी का कौन सा संस्करण किसी अन्य फायरबेस लाइब्रेरी के साथ संगत है।
भले ही आप अभी अपने ऐप में केवल एक फायरबेस लाइब्रेरी का उपयोग करते हैं, फिर भी हम बीओएम का उपयोग करने की सलाह देते हैं क्योंकि आप कभी नहीं जानते कि आप कब किसी अन्य फायरबेस लाइब्रेरी का उपयोग करना चाहते हैं!
हाँ, आप अभी भी BoM का उपयोग कर सकते हैं! ग्रैडल 5.0 और बाद के संस्करण के लिए, BoM समर्थन स्वचालित रूप से सक्षम है। हालाँकि, ग्रैडल के पुराने संस्करणों के लिए, आपको बस BoM सुविधा को सक्षम करने और BoM को थोड़ा अलग तरीके से आयात करने की आवश्यकता है।
अपनी
settings.gradle
फ़ाइल में,enableFeaturePreview('IMPROVED_POM_SUPPORT')
जोड़ें।अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर
app/build.gradle
) के लिए, BoM को एक सामान्य लाइब्रेरी (platform
संशोधक के बिना) की तरह आयात करें, जैसे:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:30.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
प्रत्यय को शामिल करने के लिए अपनी निर्भरता बदलें। प्रत्येक केटीएक्स पुस्तकालय की स्वचालित रूप से आधार पुस्तकालय पर निर्भरता होती है, इसलिए आपके ऐप में दोनों निर्भरताओं को शामिल करने की कोई आवश्यकता नहीं है।
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:30.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' }
प्रत्येक केटीएक्स पुस्तकालय आधार पुस्तकालय के विभिन्न वाक्य-विन्यास विस्तार प्रदान करता है। उदाहरण के लिए, 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-beta02'
}
अब जबकि आपने डायनामिक मॉड्यूल समर्थन जोड़ लिया है, तो आप अपने ऐप के मॉड्यूल को फ़ीचर करने के लिए 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) पर चला सकते हैं। या आप फायरबेस एसडीके का उपयोग करने के लिए उदाहरण कोड के रूप में इन क्विकस्टार्ट का उपयोग कर सकते हैं।
रुचि के अन्य विषय
- Google Play सेवाओं पर Firebase Android SDK की निर्भरता
- अपने Firebase ऐप्लिकेशन को Google Play से लिंक करें
- अपने Play - गेम्स सेवा प्रोजेक्ट के साथ एकीकृत करें