Google 致力于为黑人社区推动种族平等。查看具体举措

Firebase प्रोजेक्ट को समझें

यह पृष्ठ फायरबेस परियोजनाओं के बारे में कई महत्वपूर्ण अवधारणाओं का संक्षिप्त विवरण प्रस्तुत करता है। उपलब्ध होने पर, सुविधाओं, सेवाओं और यहां तक ​​कि अन्य प्लेटफार्मों के बारे में अधिक विस्तृत जानकारी प्राप्त करने के लिए लिंक का अनुसरण करें। इस पृष्ठ के निचले भाग में, Firebase प्रोजेक्ट के लिए सामान्य सर्वोत्तम प्रक्रियाओं की एक सूची प्राप्त करें।

Firebase प्रोजेक्ट, ऐप्लिकेशन और उत्पादों के बीच संबंध

Firebase प्रोजेक्ट, Firebase के लिए शीर्ष-स्तरीय इकाई है। किसी प्रोजेक्ट में, आप अपने iOS, Android या वेब ऐप को रजिस्टर करके Firebase ऐप बनाते हैं। अपने ऐप्स को Firebase के साथ पंजीकृत करने के बाद, आप किसी भी संख्या में Firebase उत्पादों के लिए Firebase SDKs जोड़ सकते हैं, जैसे Analytics, Cloud Firestore, प्रदर्शन निगरानी, ​​या Remote Config.

प्रारंभ करना मार्गदर्शिका ( आईओएस | एंड्रॉइड | वेब | यूनिटी | सी ++ ) में इस प्रक्रिया के बारे में अधिक विस्तृत जानकारी जानें।

Firebase प्रोजेक्ट और Google क्लाउड के बीच संबंध

जब आप फायरबेस कंसोल में एक नया फायरबेस प्रोजेक्ट बनाते हैं, तो आप वास्तव में पर्दे के पीछे एक Google क्लाउड प्रोजेक्ट बना रहे होते हैं। आप Google क्लाउड प्रोजेक्ट को डेटा, कोड, कॉन्फ़िगरेशन और सेवाओं के लिए वर्चुअल कंटेनर के रूप में सोच सकते हैं। Firebase प्रोजेक्ट एक Google क्लाउड प्रोजेक्ट है जिसमें अतिरिक्त Firebase-विशिष्ट कॉन्फ़िगरेशन और सेवाएं हैं। आप पहले एक Google क्लाउड प्रोजेक्ट भी बना सकते हैं, फिर बाद में प्रोजेक्ट में Firebase जोड़ सकते हैं।

एक Firebase परियोजना के बाद से एक Google मेघ परियोजना है:

Firebase प्रोजेक्ट सेट अप करना और ऐप्स पंजीकृत करना

आप एक Firebase प्रोजेक्ट सेट अप कर सकते हैं और Firebase कंसोल में ऐप्स पंजीकृत कर सकते हैं (या, उन्नत उपयोग के मामलों के लिए, Firebase Management REST API या Firebase CLI के माध्यम से )। जब आप कोई प्रोजेक्ट सेट अप करते हैं और ऐप्स पंजीकृत करते हैं, तो आपको कुछ संगठनात्मक निर्णय लेने होते हैं और अपने स्थानीय प्रोजेक्ट में Firebase-विशिष्ट कॉन्फ़िगरेशन जानकारी जोड़ने की आवश्यकता होती है।

प्रोजेक्ट स्थापित करने और ऐप्स पंजीकृत करने से पहले कुछ सामान्य प्रोजेक्ट-स्तरीय सर्वोत्तम प्रथाओं (इस पृष्ठ के निचले भाग पर) की समीक्षा करना सुनिश्चित करें।

परियोजना का नाम

जब आप कोई प्रोजेक्ट बनाते हैं, तो आप एक प्रोजेक्ट नाम प्रदान करते हैं। यह पहचानकर्ता Firebase कंसोल , Google क्लाउड कंसोल , और Firebase CLI में किसी प्रोजेक्ट का केवल आंतरिक नाम है । परियोजना का नाम सार्वजनिक रूप से दिखाई देने वाले किसी भी Firebase या Google क्लाउड उत्पाद, सेवा या संसाधन में प्रकट नहीं होता है; यह बस आपको कई परियोजनाओं के बीच अधिक आसानी से अंतर करने में मदद करता है।

आप Firebase कंसोल की प्रोजेक्ट सेटिंग में किसी भी समय प्रोजेक्ट का नाम संपादित कर सकते हैं। प्रोजेक्ट का नाम शीर्ष फलक में प्रदर्शित होता है।

परियोजना संख्या

Firebase प्रोजेक्ट (और इससे जुड़े Google क्लाउड प्रोजेक्ट ) में एक प्रोजेक्ट नंबर होता है । यह परियोजना के लिए वैश्विक रूप से अद्वितीय विहित पहचानकर्ता Google द्वारा असाइन किया गया है। एकीकरण को कॉन्फ़िगर करते समय और/या Firebase, Google, या तृतीय-पक्ष सेवाओं के लिए API कॉल करते समय इस पहचानकर्ता का उपयोग करें।

एपीआई कॉल और प्रोजेक्ट नंबर

कई API कॉल के लिए, आपको किसी प्रोजेक्ट के लिए एक विशिष्ट पहचानकर्ता शामिल करना होगा। हालांकि कई एपीआई प्रोजेक्ट आईडी को स्वीकार करते हैं, यह अनुशंसा की जाती है कि आप फायरबेस, Google या तृतीय-पक्ष सेवाओं को एपीआई कॉल करने के लिए प्रोजेक्ट नंबर का उपयोग करें।

Google के AIP 2510 मानक में प्रोजेक्ट पहचानकर्ताओं, विशेष रूप से प्रोजेक्ट नंबर का उपयोग करने के बारे में अधिक जानें।

प्रोजेक्ट नंबर खोजें

  • फायरबेस कंसोल: प्रोजेक्ट सेटिंग्स पर क्लिक करें। प्रोजेक्ट नंबर शीर्ष फलक में प्रदर्शित होता है।

  • फायरबेस सीएलआई: firebase projects:list चलाएं firebase projects:list । प्रोजेक्ट नंबर आपके खाते से संबद्ध सभी Firebase प्रोजेक्ट के साथ प्रदर्शित होता है।

  • फायरबेस प्रबंधन आरईएसटी एपीआई: projects.list कॉल करें। प्रतिक्रिया निकाय में FirebaseProject ऑब्जेक्ट में प्रोजेक्ट नंबर होता है।

परियोजना आईडी

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

यदि आप किसी प्रोजेक्ट को हटाते हैं, तो प्रोजेक्ट आईडी भी हटा दिया जाता है और किसी अन्य प्रोजेक्ट द्वारा फिर कभी इसका उपयोग नहीं किया जा सकता है।

फायरबेस संसाधन और प्रोजेक्ट आईडी

प्रोजेक्ट आईडी सार्वजनिक रूप से दिखाई देने वाले Firebase संसाधनों में प्रदर्शित होता है, उदाहरण के लिए:

  • डिफ़ॉल्ट होस्टिंग उप डोमेन — PROJECT_ID .web.app और PROJECT_ID .firebaseapp.com
  • डिफ़ॉल्ट रीयलटाइम डेटाबेस यूआरएल — PROJECT_ID -default-rtdb.firebaseio.com या PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • डिफ़ॉल्ट क्लाउड स्टोरेज बकेट नाम — PROJECT_ID .appspot.com

उपरोक्त सभी संसाधनों के लिए, आप गैर-डिफ़ॉल्ट उदाहरण बना सकते हैं। गैर-डिफ़ॉल्ट के सार्वजनिक रूप से दृश्यमान नाम पूरी तरह से अनुकूलन योग्य हैं। आप कस्टम डोमेन को Firebase द्वारा होस्ट की गई साइट से कनेक्ट कर सकते हैं , रीयलटाइम डेटाबेस को शार्प कर सकते हैं , और कई क्लाउड स्टोरेज बकेट बना सकते हैं (प्लेटफ़ॉर्म-विशिष्ट गेट स्टार्टेड पेज पर जाएं)।

फायरबेस सीएलआई और प्रोजेक्ट आईडी

कुछ उपयोग मामलों के लिए, आपके पास एक ही स्थानीय ऐप निर्देशिका से संबद्ध कई Firebase प्रोजेक्ट हो सकते हैं। इन स्थितियों में, जब आप का उपयोग Firebase CLI , आप पास करनी होगी --project साथ ध्वज firebase जो Firebase परियोजना आप के साथ बातचीत करना चाहते हैं संवाद करने के लिए आदेशों।

आप प्रत्येक Firebase प्रोजेक्ट के लिए एक प्रोजेक्ट उपनाम भी सेट कर सकते हैं ताकि आपको प्रोजेक्ट आईडी याद न रखने पड़े।

एपीआई कॉल और प्रोजेक्ट आईडी

कई API कॉल के लिए, आपको किसी प्रोजेक्ट के लिए एक विशिष्ट पहचानकर्ता शामिल करना होगा। हालांकि कई एपीआई प्रोजेक्ट आईडी को स्वीकार करते हैं, लेकिन यह अनुशंसा की जाती है कि आप फायरबेस, Google या तृतीय-पक्ष सेवाओं को एपीआई कॉल करने के लिए प्रोजेक्ट नंबर का उपयोग करें।

Google के AIP 2510 मानक में प्रोजेक्ट पहचानकर्ताओं, विशेष रूप से प्रोजेक्ट नंबर का उपयोग करने के बारे में अधिक जानें।

प्रोजेक्ट आईडी खोजें

  • फायरबेस कंसोल: प्रोजेक्ट सेटिंग्स पर क्लिक करें। प्रोजेक्ट आईडी शीर्ष फलक में प्रदर्शित होता है।

  • फायरबेस सीएलआई: firebase projects:list चलाएं firebase projects:list । प्रोजेक्ट आईडी आपके खाते से संबद्ध सभी Firebase प्रोजेक्ट के साथ प्रदर्शित होता है।

  • फायरबेस प्रबंधन आरईएसटी एपीआई: projects.list कॉल करें। प्रतिक्रिया निकाय में FirebaseProject ऑब्जेक्ट में प्रोजेक्ट आईडी है।

फायरबेस कॉन्फिग फाइल्स और ऑब्जेक्ट्स

जब आप किसी ऐप को Firebase प्रोजेक्ट के साथ पंजीकृत करते हैं, तो Firebase कंसोल एक Firebase कॉन्फ़िगरेशन फ़ाइल (iOS/Android ऐप्स) या एक कॉन्फ़िगरेशन ऑब्जेक्ट (वेब ​​ऐप्स) प्रदान करता है जिसे आप सीधे अपनी स्थानीय ऐप निर्देशिका में जोड़ते हैं।

  • iOS ऐप्स के लिए, आप एक GoogleService-Info.plist कॉन्फ़िगरेशन फ़ाइल जोड़ते हैं।
  • Android ऐप्स के लिए, आप एक google-services.json कॉन्फ़िगरेशन फ़ाइल जोड़ते हैं।
  • वेब ऐप्स के लिए, आप एक Firebase कॉन्फ़िगरेशन ऑब्जेक्ट जोड़ते हैं।

किसी भी समय, आप किसी ऐप की Firebase कॉन्फ़िग फ़ाइल या ऑब्जेक्ट प्राप्त कर सकते हैं।

Firebase कॉन्फ़िग फ़ाइल या ऑब्जेक्ट किसी ऐप्लिकेशन को किसी खास Firebase प्रोजेक्ट और उसके संसाधनों (डेटाबेस, स्टोरेज बकेट, वगैरह) से जोड़ता है. कॉन्फ़िगरेशन में "Firebase विकल्प" शामिल हैं, जो Firebase और Google सेवाओं द्वारा Firebase सर्वर API के साथ संचार करने और क्लाइंट डेटा को Firebase प्रोजेक्ट और Firebase ऐप से संबद्ध करने के लिए आवश्यक पैरामीटर हैं। यहां आवश्यक, न्यूनतम "Firebase विकल्प" दिए गए हैं:

  • एपीआई कुंजी : कुछ एपीआई को कॉल करते समय उपयोग की जाने वाली एक साधारण एन्क्रिप्टेड स्ट्रिंग जिसे निजी उपयोगकर्ता डेटा तक पहुंचने की आवश्यकता नहीं होती है (उदाहरण मान: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • प्रोजेक्ट आईडी : पूरे फायरबेस और Google क्लाउड में प्रोजेक्ट के लिए उपयोगकर्ता द्वारा परिभाषित विशिष्ट पहचानकर्ता। यह पहचानकर्ता कुछ Firebase संसाधनों के URL या नामों में दिखाई दे सकता है, लेकिन इसे आम तौर पर प्रोजेक्ट को संदर्भित करने के लिए सुविधा उपनाम के रूप में माना जाना चाहिए। (उदाहरण मान: myapp-project-123 )

  • एप्लिकेशन आईडी ("एपआईडी") : प्लेटफॉर्म-विशिष्ट प्रारूप के साथ सभी फायरबेस में फायरबेस ऐप के लिए अद्वितीय पहचानकर्ता:

    • Firebase iOS ऐप्लिकेशन: GOOGLE_APP_ID (उदाहरण मान: 1:1234567890:ios:321abc456def7890 )
      यह एक एप्पल बंडल आईडी नहीं है।
    • Firebase Android ऐप्लिकेशन: mobilesdk_app_id (उदाहरण मान: 1:1234567890:android:321abc456def7890 )
      यह एक Android पैकेज का नाम या Android एप्लिकेशन आईडी नहीं है।
    • Firebase वेब ऐप्लिकेशन: appId (उदाहरण मान: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

फ़ायरबेस कॉन्फ़िग फ़ाइल या ऑब्जेक्ट की सामग्री को सार्वजनिक माना जाता है, जिसमें ऐप की प्लेटफ़ॉर्म-विशिष्ट आईडी (आईओएस बंडल आईडी या एंड्रॉइड पैकेज नाम) और फायरबेस प्रोजेक्ट-विशिष्ट मान, जैसे एपीआई कुंजी, प्रोजेक्ट आईडी, रीयलटाइम डेटाबेस यूआरएल, और क्लाउड स्टोरेज बकेट नाम। इसे देखते हुए, रीयलटाइम डेटाबेस , क्लाउड फायरस्टोर और क्लाउड स्टोरेज में अपने डेटा और फ़ाइलों की सुरक्षा के लिए फायरबेस सुरक्षा नियमों का उपयोग करें

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

Firebase प्रोजेक्ट प्रबंधित करना

किसी Firebase प्रोजेक्ट को प्रबंधित करने के आपके तरीके को प्रभावित करने वाले विचारों के लिए सामान्य प्रोजेक्ट-स्तरीय सर्वोत्तम प्रथाओं (इस पृष्ठ के निचले भाग पर) की समीक्षा करना सुनिश्चित करें।

एक परियोजना का प्रबंधन करने के लिए उपकरण

फायरबेस कंसोल

Firebase कंसोल , Firebase उत्पादों, ऐप्स और प्रोजेक्ट-स्तरीय सेटिंग को प्रबंधित करने के लिए सबसे समृद्ध वातावरण प्रदान करता है।

फायरबेस कंसोल - प्रोजेक्ट ओवरव्यू स्क्रीन

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

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

फायरबेस सीएलआई (एक कमांड लाइन टूल)

फायरबेस फायरबेस के लिए फायरबेस होस्टिंग और क्लाउड फंक्शंस जैसे विशिष्ट फायरबेस उत्पादों को कॉन्फ़िगर और प्रबंधित करने के लिए फायरबेस सीएलआई भी प्रदान करता है।

सीएलआई स्थापित करने के बाद, आपके पास वैश्विक firebase कमांड तक पहुंच है। अपनी स्थानीय ऐप निर्देशिका को किसी Firebase प्रोजेक्ट से लिंक करने के लिए CLI का उपयोग करें, फिर Firebase द्वारा होस्ट की गई सामग्री के नए संस्करण या फ़ंक्शन के अपडेट को परिनियोजित करें

फायरबेस प्रबंधन बाकी एपीआई

फायरबेस प्रबंधन आरईएसटी एपीआई का उपयोग करके, आप प्रोग्रामेटिक रूप से फायरबेस प्रोजेक्ट प्रबंधित कर सकते हैं। उदाहरण के लिए, आप किसी प्रोजेक्ट के साथ किसी ऐप को प्रोग्रामेटिक रूप से पंजीकृत कर सकते हैं या उन ऐप्स को सूचीबद्ध कर सकते हैं जो पहले से पंजीकृत हैं ( आईओएस | एंड्रॉइड | वेब )।

सामान्य सर्वोत्तम अभ्यास

किसी प्रोजेक्ट में ऐप्स जोड़ना

सुनिश्चित करें कि किसी प्रोजेक्ट के भीतर सभी ऐप्स एंड-यूज़र परिप्रेक्ष्य से एक ही एप्लिकेशन के प्लेटफ़ॉर्म वेरिएंट हैं । एक ही ऐप या गेम के आईओएस, एंड्रॉइड और वेब संस्करणों को एक ही फायरबेस प्रोजेक्ट के साथ पंजीकृत करने की सलाह दी जाती है। किसी प्रोजेक्ट के सभी ऐप्स आम तौर पर समान Firebase संसाधन (डेटाबेस, स्टोरेज बकेट, आदि) साझा करते हैं।

अगर आपके पास अलग-अलग आईओएस बंडल आईडी या परिभाषित एंड्रॉइड पैकेज नामों के साथ कई बिल्ड वेरिएंट हैं , तो आप प्रत्येक संस्करण को एक अलग फायरबेस प्रोजेक्ट के साथ पंजीकृत कर सकते हैं। हालांकि, अगर आपके पास समान फ़ायरबेस संसाधनों को साझा करने वाले वेरिएंट हैं, तो उन्हें उसी फायरबेस प्रोजेक्ट के साथ पंजीकृत करें।

यहां Firebase प्रोजेक्ट, ऐप्लिकेशन और साइटों के लिए कुछ सामान्य सीमाएं दी गई हैं:

  • प्रति खाता परियोजनाओं की संख्या

    • स्पार्क मूल्य निर्धारण योजना - परियोजना-निर्माण कोटा परियोजनाओं की कम संख्या (आमतौर पर लगभग 5-10) तक सीमित है।
    • ब्लेज़ मूल्य निर्धारण योजना — जब तक संबद्ध क्लाउड बिलिंग खाता अच्छी स्थिति में है, तब तक प्रति खाता परियोजना-निर्माण कोटा काफी बढ़ जाता है।

    अधिकांश डेवलपर्स के लिए परियोजना-निर्माण कोटा की सीमा शायद ही कभी चिंता का विषय होती है, लेकिन यदि आवश्यक हो, तो आप परियोजना कोटा में वृद्धि का अनुरोध कर सकते हैं

    ध्यान रखें कि किसी प्रोजेक्ट को पूरी तरह से हटाने के लिए 30 दिनों की आवश्यकता होती है और प्रोजेक्ट को पूरी तरह से हटाए जाने तक प्रोजेक्ट कोटा में गिना जाता है।

  • प्रति प्रोजेक्ट ऐप्स की संख्या

    Firebase किसी Firebase प्रोजेक्ट में Firebase ऐप्लिकेशन की कुल संख्या को 30 तक सीमित करता है।

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

    एफएक्यू में प्रति प्रोजेक्ट ऐप्स की सीमा के बारे में अधिक जानें।

  • प्रति प्रोजेक्ट होस्टिंग साइटों की संख्या

    फायरबेस होस्टिंग मल्टीसाइट फीचर प्रति प्रोजेक्ट अधिकतम 36 साइटों का समर्थन करता है।

बहु किरायेदारी

कई अलग-अलग तार्किक रूप से स्वतंत्र ऐप्स और/या वेब साइटों को एक एकल Firebase प्रोजेक्ट (जिसे अक्सर "मल्टी-टेनेंसी" कहा जाता है) से कनेक्ट करने की अनुशंसा नहीं की जाती है। बहु-किरायेदारी गंभीर कॉन्फ़िगरेशन और डेटा गोपनीयता संबंधी समस्याओं को जन्म दे सकती है, जिसमें एनालिटिक्स एकत्रीकरण के साथ अनपेक्षित मुद्दे, साझा प्रमाणीकरण, अत्यधिक जटिल डेटाबेस संरचनाएं और सुरक्षा नियमों के साथ कठिनाइयां शामिल हैं।

आम तौर पर, यदि ऐप्स का कोई सेट समान डेटा और कॉन्फ़िगरेशन साझा नहीं करता है , तो प्रत्येक ऐप को एक भिन्न Firebase प्रोजेक्ट के साथ पंजीकृत करने पर दृढ़ता से विचार करें।

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

अपना ऐप लॉन्च करना