इस पेज पर, Firebase प्रोजेक्ट के बारे में कई अहम कॉन्सेप्ट की खास जानकारी दी गई है. उपलब्ध होने पर, सुविधाओं, सेवाओं, टूलिंग, और सबसे सही तरीकों के बारे में ज़्यादा जानकारी पाने के लिए, लिंक पर क्लिक करें.
Firebase प्रोजेक्ट, ऐप्लिकेशन, और प्रॉडक्ट के बीच संबंध
Firebase प्रोजेक्ट, Firebase के लिए सबसे ऊपर वाली इकाई होती है. किसी प्रोजेक्ट में, अपने Apple, Android या वेब ऐप्लिकेशन रजिस्टर किए जा सकते हैं. अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करने के बाद, Firebase के किसी भी प्रॉडक्ट के लिए Firebase SDK टूल जोड़े जा सकते हैं. जैसे, Analytics, Cloud Firestore, Performance Monitoring या Remote Config.
इस प्रोसेस के बारे में ज़्यादा जानकारी पाने के लिए, अपने प्लैटफ़ॉर्म के लिए शुरुआती गाइड देखें:
iOS+ | Android |
वेब | Unity | C++ |
Flutter.
Firebase प्रोजेक्ट के क्रम के बारे में जानकारी
इस डायग्राम में, Firebase प्रोजेक्ट की बुनियादी हैरारकी दिखाई गई है. यहां मुख्य संबंध दिए गए हैं:
Firebase प्रोजेक्ट, आपके सभी ऐप्लिकेशन और प्रोजेक्ट के लिए उपलब्ध कराए गए किसी भी संसाधन और सेवाओं के लिए एक कंटेनर की तरह होता है.
किसी Firebase प्रोजेक्ट में एक या उससे ज़्यादा Firebase ऐप्लिकेशन रजिस्टर किए जा सकते हैं. उदाहरण के लिए, किसी ऐप्लिकेशन के iOS और Android, दोनों वर्शन या किसी ऐप्लिकेशन के मुफ़्त और पैसे चुकाकर इस्तेमाल किए जाने वाले, दोनों वर्शन.
एक ही Firebase प्रोजेक्ट में रजिस्टर किए गए सभी Firebase ऐप्लिकेशन, प्रोजेक्ट के लिए उपलब्ध कराए गए सभी संसाधनों और सेवाओं को शेयर करते हैं और उनका ऐक्सेस रखते हैं. यहां कुछ उदाहरण दिए गए हैं:
एक ही Firebase प्रोजेक्ट में रजिस्टर किए गए सभी Firebase ऐप्लिकेशन, एक ही बैकएंड शेयर करते हैं. जैसे, Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage, और Cloud Functions.
एक ही Firebase प्रोजेक्ट में रजिस्टर किए गए सभी Firebase ऐप्लिकेशन, एक ही Google Analytics प्रॉपर्टी से जुड़े होते हैं. इस प्रॉपर्टी में, हर Firebase ऐप्लिकेशन एक अलग डेटा स्ट्रीम होता है.
Firebase प्रोजेक्ट और Google Cloud के बीच संबंध
नया Firebase प्रोजेक्ट बनाते समय, बैकग्राउंड में Google Cloud प्रोजेक्ट बनता है. आपके पास Google Cloud प्रोजेक्ट पहले बनाने और बाद में उसमें Firebase जोड़ने का विकल्प भी होता है. Google Cloud प्रोजेक्ट को डेटा, कोड, कॉन्फ़िगरेशन, और सेवाओं के लिए वर्चुअल कंटेनर के तौर पर देखा जा सकता है.
ध्यान दें कि सभी Firebase प्रोजेक्ट के लिए, Firebase आपके प्रोजेक्ट में Google Cloud कंसोल के लेबल पेज पर, firebase:enabled का लेबल अपने-आप जोड़ देता है. इस लेबल के बारे में ज़्यादा जानने के लिए, अक्सर पूछे जाने वाले सवाल पढ़ें.
Firebase प्रोजेक्ट, Google Cloud प्रोजेक्ट होता है. इसलिए:
Firebase कंसोल के साथ-साथ, Google Cloud कंसोल और Google API कंसोल में भी प्रोजेक्ट को ऐक्सेस किया जा सकता है और उसके साथ इंटरैक्ट किया जा सकता है.
प्रोजेक्ट के साथ इंटरैक्ट करने के लिए, Firebase सीएलआई, gcloud CLI, और Google के किसी भी Terraform संसाधन का इस्तेमाल किया जा सकता है.
प्रोजेक्ट में, Firebase और Google Cloud, दोनों के प्रॉडक्ट और एपीआई का इस्तेमाल किया जा सकता है.
प्रोजेक्ट के लिए IAM अनुमतियां और भूमिकाएं, Firebase और Google Cloud, दोनों के साथ शेयर की जाती हैं. प्रोजेक्ट के सदस्य (यानी कि प्रिंसिपल) के पास आपके Google Cloud प्रोजेक्ट का जो भी ऐक्सेस होगा वह आपके Firebase प्रोजेक्ट पर भी लागू होगा. इसके उलट, Firebase प्रोजेक्ट का ऐक्सेस Google Cloud प्रोजेक्ट पर भी लागू होगा.
प्रोजेक्ट के लिए बिलिंग को Firebase और Google Cloud के साथ शेयर किया जाता है. अगर आपके Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है, तो आपका Firebase प्रोजेक्ट, Firebase के इस्तेमाल के हिसाब से पैसे चुकाने वाले Blaze प्लान पर होगा.
प्रोजेक्ट के लिए यूनीक आइडेंटिफ़ायर (जैसे, प्रोजेक्ट नंबर और प्रोजेक्ट आईडी) Firebase और Google Cloud के साथ शेयर किए जाते हैं.
आपकी Google Cloud प्रोजेक्ट पर लागू की गई कोई भी संसाधन का क्रम (जैसे कि संगठन, फ़ोल्डर वगैरह) आपके Firebase प्रोजेक्ट पर भी लागू होगी.
प्रोजेक्ट को मिटाने से, वह Firebase और Google Cloud, दोनों से मिट जाता है.
प्रोजेक्ट में किसी संसाधन या डेटा को मिटाने या उसमें बदलाव करने पर, यह बदलाव Firebase और Google Cloud, दोनों पर लागू होता है.
Firebase प्रोजेक्ट सेट अप करना और ऐप्लिकेशन रजिस्टर करना
Firebase कंसोल में जाकर, Firebase प्रोजेक्ट सेट अप किया जा सकता है और ऐप्लिकेशन रजिस्टर किए जा सकते हैं. इसके अलावा, ज़्यादा बेहतर इस्तेमाल के लिए, Firebase Management REST API या Firebase CLI का इस्तेमाल किया जा सकता है. प्रोजेक्ट सेट अप करने और ऐप्लिकेशन रजिस्टर करने के दौरान, आपको संगठन से जुड़े कुछ फ़ैसले लेने होते हैं. साथ ही, अपने लोकल प्रोजेक्ट में Firebase से जुड़ी कॉन्फ़िगरेशन की जानकारी जोड़नी होती है.
प्रोडक्शन ऐप्लिकेशन के लिए, आपको डेवलपमेंट का एक साफ़ तौर पर तय किया गया वर्कफ़्लो सेट अप करना होगा. इसमें आम तौर पर, कई एनवायरमेंट का इस्तेमाल करना शामिल होता है. Firebase प्रोजेक्ट सेट अप करने और ऐप्लिकेशन रजिस्टर करने के लिए, डेवलपर वर्कफ़्लो के बारे में हमारा दस्तावेज़ पढ़ें. इसमें सामान्य तौर पर सबसे सही तरीके और सुरक्षा से जुड़े सामान्य दिशा-निर्देश शामिल हैं. इससे आपको डेवलपमेंट वर्कफ़्लो बनाने में मदद मिलेगी.
Firebase प्रोजेक्ट के साथ इंटरैक्ट करना
प्रॉडक्ट एसडीके के अलावा, कई अलग-अलग टूल और इंटरफ़ेस का इस्तेमाल करके, सीधे तौर पर किसी Firebase प्रोजेक्ट के साथ इंटरैक्ट किया जा सकता है.
Firebase कंसोल
Firebase कंसोल, Firebase प्रॉडक्ट, ऐप्लिकेशन, और प्रोजेक्ट-लेवल की सेटिंग मैनेज करने के लिए सबसे अच्छा प्लैटफ़ॉर्म है.
कंसोल के बाईं ओर मौजूद पैनल में, Firebase प्रॉडक्ट की सूची दी गई है. इन्हें टॉप-लेवल कैटगरी के हिसाब से व्यवस्थित किया गया है. बाईं ओर मौजूद साइड पैनल में सबसे ऊपर, पर क्लिक करके किसी प्रोजेक्ट की सेटिंग ऐक्सेस करें. किसी प्रोजेक्ट की सेटिंग में इंटिग्रेशन, ऐक्सेस करने की अनुमतियां, और बिलिंग शामिल होती हैं.
कंसोल के बीच में ऐसे बटन दिखते हैं जो अलग-अलग तरह के ऐप्लिकेशन रजिस्टर करने के लिए, सेटअप वर्कफ़्लो लॉन्च करते हैं. Firebase का इस्तेमाल शुरू करने के बाद, कंसोल का मुख्य हिस्सा एक डैशबोर्ड में बदल जाता है. इस डैशबोर्ड में, आपके इस्तेमाल किए जा रहे प्रॉडक्ट के आंकड़े दिखते हैं.
ध्यान दें कि Firebase प्रोजेक्ट भी एक Google Cloud प्रोजेक्ट होता है. इसलिए, आपको कई टास्क या प्रॉडक्ट के लिए, Firebase कंसोल के बजाय Google Cloud कंसोल का इस्तेमाल करना पड़ सकता है.
Firebase सीएलआई (कमांड लाइन टूल)
Firebase, Firebase CLI भी उपलब्ध कराता है. इसका इस्तेमाल, Firebase Hosting, Cloud Functions for Firebase, और Firebase Extensions जैसे Firebase के कुछ प्रॉडक्ट को कॉन्फ़िगर करने और मैनेज करने के लिए किया जाता है.
सीएलआई इंस्टॉल करने के बाद, आपके पास global firebase कमांड का ऐक्सेस होता है. सीएलआई का इस्तेमाल करके, अपनी लोकल ऐप्लिकेशन डायरेक्ट्री को किसी Firebase प्रोजेक्ट से लिंक करें. इसके बाद, Firebase होस्टिंग वाले कॉन्टेंट के नए वर्शन डिप्लॉय करें या फ़ंक्शन में अपडेट करें.
Firebase Management REST API
Firebase Management REST API का इस्तेमाल करके, Firebase प्रोजेक्ट को प्रोग्राम के हिसाब से मैनेज किया जा सकता है. उदाहरण के लिए, किसी ऐप्लिकेशन को प्रोग्राम के हिसाब से किसी प्रोजेक्ट में रजिस्टर किया जा सकता है. इसके अलावा, पहले से रजिस्टर किए गए ऐप्लिकेशन की सूची बनाई जा सकती है (iOS+ | Android | web).
Firebase प्रोजेक्ट आइडेंटिफ़ायर
Firebase प्रोजेक्ट की पहचान, Firebase बैकएंड और अलग-अलग डेवलपर इंटरफ़ेस में की जा सकती है. इसके लिए, अलग-अलग आइडेंटिफ़ायर का इस्तेमाल किया जाता है. जैसे, प्रोजेक्ट का नाम, प्रोजेक्ट नंबर, और प्रोजेक्ट आईडी.
प्रोजेक्ट का नाम
प्रोजेक्ट बनाते समय, आपको प्रोजेक्ट का नाम देना होता है. यह आइडेंटिफ़ायर, Firebase Console, Google Cloud Console, और Firebase CLI में किसी प्रोजेक्ट के लिए, सिर्फ़ इंटरनल नाम होता है. प्रोजेक्ट का नाम, सार्वजनिक तौर पर दिखने वाले किसी भी Firebase या Google Cloud प्रॉडक्ट, सेवा या संसाधन में नहीं दिखता. इसका इस्तेमाल सिर्फ़ अलग-अलग प्रोजेक्ट के बीच अंतर करने के लिए किया जाता है.
Firebase कंसोल में, प्रोजेक्ट की सेटिंग में जाकर, प्रोजेक्ट का नाम किसी भी समय बदला जा सकता है. प्रोजेक्ट का नाम, सबसे ऊपर वाले पैन में दिखता है.
प्रोजेक्ट नंबर
Firebase प्रोजेक्ट (और उससे जुड़े Google Cloud प्रोजेक्ट) का एक प्रोजेक्ट नंबर होता है. यह Google की ओर से असाइन किया गया, दुनिया भर में इस्तेमाल होने वाला खास कैननिकल आइडेंटिफ़ायर है. इस आइडेंटिफ़ायर का इस्तेमाल, इंटिग्रेशन कॉन्फ़िगर करते समय और/या Firebase, Google या तीसरे पक्ष की सेवाओं को एपीआई कॉल करते समय करें.
प्रोजेक्ट नंबर में बदलाव नहीं किया जा सकता. किसी प्रोजेक्ट को मिटाने पर, प्रोजेक्ट नंबर भी मिट जाता है. साथ ही, इसका इस्तेमाल किसी दूसरे प्रोजेक्ट के लिए कभी नहीं किया जा सकता.
प्रोजेक्ट आईडी
हर Firebase प्रोजेक्ट का एक प्रोजेक्ट आईडी होता है. साथ ही, इससे जुड़ा Google Cloud प्रोजेक्ट भी होता है. यह उपयोगकर्ता की ओर से तय किया गया यूनीक आइडेंटिफ़ायर है. इसका इस्तेमाल, Firebase और Google Cloud के सभी प्रोजेक्ट के लिए किया जाता है. Firebase प्रोजेक्ट बनाते समय, Firebase प्रोजेक्ट को अपने-आप एक यूनीक आईडी असाइन करता है. हालांकि, प्रोजेक्ट सेटअप के दौरान इसे बदला जा सकता है. इस आइडेंटिफ़ायर को आम तौर पर, प्रोजेक्ट का रेफ़रंस देने के लिए एक सुविधाजनक उपनाम के तौर पर इस्तेमाल किया जाना चाहिए.
Firebase कॉन्फ़िगरेशन फ़ाइलें और ऑब्जेक्ट
किसी ऐप्लिकेशन को Firebase प्रोजेक्ट के साथ रजिस्टर करने पर, Firebase कंसोल, Firebase कॉन्फ़िगरेशन फ़ाइल (Apple/Android ऐप्लिकेशन) या कॉन्फ़िगरेशन ऑब्जेक्ट (वेब ऐप्लिकेशन) उपलब्ध कराता है. इसे सीधे तौर पर अपने ऐप्लिकेशन की लोकल डायरेक्ट्री में जोड़ा जाता है.
- Apple के ऐप्लिकेशन के लिए,
GoogleService-Info.plistकॉन्फ़िगरेशन फ़ाइल जोड़ी जाती है. - Android ऐप्लिकेशन के लिए,
google-services.jsonकॉन्फ़िगरेशन फ़ाइल जोड़ी जाती है. - वेब ऐप्लिकेशन के लिए, Firebase कॉन्फ़िगरेशन ऑब्जेक्ट जोड़ा जाता है.
आपके पास किसी भी समय, किसी ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट पाने का विकल्प होता है.
Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट, किसी ऐप्लिकेशन को किसी खास Firebase प्रोजेक्ट और उसके संसाधनों (डेटाबेस, स्टोरेज बकेट वगैरह) से जोड़ता है. कॉन्फ़िगरेशन में "Firebase के विकल्प" शामिल होते हैं. ये ऐसे पैरामीटर होते हैं जिनकी ज़रूरत Firebase और Google की सेवाओं को Firebase सर्वर एपीआई से कम्यूनिकेट करने के लिए होती है. साथ ही, इनकी ज़रूरत क्लाइंट के डेटा को Firebase प्रोजेक्ट और Firebase ऐप्लिकेशन से जोड़ने के लिए भी होती है. यहां "Firebase के विकल्प" दिए गए हैं. ये विकल्प ज़रूरी हैं और इनकी संख्या कम से कम इतनी होनी चाहिए:
एपीआई पासकोड: यह सुरक्षित की गई एक सामान्य स्ट्रिंग होती है. इसका इस्तेमाल तब होता है, जब कुछ एपीआई कॉल के दौरान उपयोगकर्ता के निजी डेटा को ऐक्सेस करने की ज़रूरत नहीं होती (उदाहरण के लिए, वैल्यू:
AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)प्रोजेक्ट आईडी: यह उपयोगकर्ता की ओर से तय किया गया एक यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल Firebase और Google Cloud के सभी प्रोजेक्ट के लिए किया जाता है. यह आइडेंटिफ़ायर, Firebase के कुछ संसाधनों के यूआरएल या नामों में दिख सकता है. हालांकि, इसे आम तौर पर प्रोजेक्ट को रेफ़रंस देने के लिए, सुविधा के तौर पर इस्तेमाल किया जाने वाला एलियास माना जाना चाहिए. (उदाहरण के लिए वैल्यू:
myapp-project-123)ऐप्लिकेशन आईडी ("AppID"): यह Firebase ऐप्लिकेशन का यूनीक आइडेंटिफ़ायर होता है. यह सभी Firebase प्लैटफ़ॉर्म पर एक जैसा होता है. इसका फ़ॉर्मैट प्लैटफ़ॉर्म के हिसाब से तय होता है:
- Firebase Apple ऐप्लिकेशन:
GOOGLE_APP_ID(उदाहरण के लिए वैल्यू:1:1234567890:ios:321abc456def7890)
यह Apple बंडल आईडी नहीं है. - Firebase का इस्तेमाल करके बनाए गए Android ऐप्लिकेशन:
mobilesdk_app_id(उदाहरण के लिए वैल्यू:1:1234567890:android:321abc456def7890)
यह Android पैकेज का नाम या Android ऐप्लिकेशन आईडी नहीं है. - Firebase वेब ऐप्लिकेशन:
appId(उदाहरण के लिए वैल्यू:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)
- Firebase Apple ऐप्लिकेशन:
Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट के कॉन्टेंट को सार्वजनिक माना जाता है. इसमें ऐप्लिकेशन का प्लैटफ़ॉर्म के हिसाब से आईडी (Apple बंडल आईडी या Android पैकेज का नाम) और Firebase प्रोजेक्ट के हिसाब से वैल्यू शामिल होती हैं. जैसे, एपीआई पासकोड, प्रोजेक्ट आईडी, Realtime Database यूआरएल, और Cloud Storage बकेट का नाम. इसलिए, Realtime Database, Cloud Firestore, और Cloud Storage में मौजूद अपने डेटा और फ़ाइलों को सुरक्षित रखने के लिए, Firebase Security Rules का इस्तेमाल करें.
ओपन सोर्स प्रोजेक्ट के लिए, हम आम तौर पर सोर्स कंट्रोल में ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट शामिल करने का सुझाव नहीं देते. ऐसा इसलिए, क्योंकि ज़्यादातर मामलों में, आपके उपयोगकर्ताओं को अपने Firebase प्रोजेक्ट बनाने चाहिए और अपने ऐप्लिकेशन को अपने Firebase संसाधनों से जोड़ना चाहिए. इसके लिए, उन्हें अपनी Firebase कॉन्फ़िगरेशन फ़ाइल या ऑब्जेक्ट का इस्तेमाल करना चाहिए.
Firebase प्रोजेक्ट, ऐप्लिकेशन, और साइटों के लिए सामान्य सीमाएं
यहां Firebase प्रोजेक्ट, ऐप्लिकेशन, और साइटों के लिए कुछ सामान्य सीमाएं दी गई हैं:
हर Google खाते (ईमेल पते) के लिए प्रोजेक्ट की संख्या
- स्पार्क प्लान की बिलिंग की जानकारी: प्रोजेक्ट बनाने का कोटा, कम संख्या में प्रोजेक्ट बनाने तक सीमित होता है. आम तौर पर, यह संख्या 5 से 10 के बीच होती है.
- ब्लेज़ की कीमत वाला प्लान: प्रोजेक्ट बनाने का कोटा अब भी सीमित है. हालांकि, Cloud Billing खाते को लिंक करने पर, यह बढ़ सकता है.
प्रोजेक्ट बनाने के कोटे की सीमा के बारे में इन बातों का ध्यान रखें:
- यह सीमा सिर्फ़ Firebase के लिए नहीं है. प्रोजेक्ट कोटा के लिए, Firebase की सीमाएं Google Cloud की सीमाओं के बराबर होती हैं.
- अगर आपको इसकी ज़रूरत है, तो प्रोजेक्ट के कोटा को बढ़ाने का अनुरोध किया जा सकता है.
- किसी प्रोजेक्ट को पूरी तरह से मिटाने में 30 दिन लगते हैं. साथ ही, जब तक प्रोजेक्ट पूरी तरह से मिट नहीं जाता, तब तक उसे प्रोजेक्ट के कोटे में गिना जाता है.
Firebase प्रोजेक्ट सेट अप करने के लिए, Firebase के सुझाए गए सामान्य सबसे सही तरीकों के बारे में जानें.
हर प्रोजेक्ट के लिए ऐप्लिकेशन की संख्या
Firebase, किसी Firebase प्रोजेक्ट में Firebase ऐप्लिकेशन की कुल संख्या को 30 तक सीमित करता है.
आपको यह पक्का करना चाहिए कि एक Firebase प्रोजेक्ट में मौजूद सभी Firebase ऐप्लिकेशन, एक ही ऐप्लिकेशन के अलग-अलग प्लैटफ़ॉर्म वर्शन हों. सबसे सही तरीकों के बारे में बताने वाले हमारे दस्तावेज़ों में, एक से ज़्यादा किरायेदार के बारे में ज़्यादा पढ़ें.
अक्सर पूछे जाने वाले सवालों में, हर प्रोजेक्ट के लिए ऐप्लिकेशन की सीमा के बारे में ज़्यादा जानें.
हर प्रोजेक्ट के लिए Hosting साइटों की संख्या
Firebase Hosting एक से ज़्यादा साइटों की सुविधा के तहत, हर प्रोजेक्ट में ज़्यादा से ज़्यादा 36 साइटें जोड़ी जा सकती हैं.
ऐप्लिकेशन लॉन्च करना
- Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट की सूचनाएं सेट अप करें.
- Firebase कंसोल में इस्तेमाल और बिलिंग डैशबोर्ड पर जाकर, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी पाएं. इससे आपको यह पता चलेगा कि Firebase की अलग-अलग सेवाओं का इस्तेमाल कैसे किया जा रहा है.
- Firebase लॉन्च चेकलिस्ट देखें.