इस पेज पर, Firebase प्रोजेक्ट के कई अहम कॉन्सेप्ट के बारे में खास जानकारी दी गई है. सुविधाओं, सेवाओं, टूल, और सबसे सही तरीकों के बारे में ज़्यादा जानकारी पाने के लिए, लिंक पर जाएं.
Firebase प्रोजेक्ट, ऐप्लिकेशन, और प्रॉडक्ट के बीच का संबंध
Firebase प्रोजेक्ट, Firebase के लिए टॉप-लेवल इकाई है. किसी प्रोजेक्ट में, अपने Apple, Android या वेब ऐप्लिकेशन रजिस्टर किए जा सकते हैं. Firebase के साथ अपने ऐप्लिकेशन रजिस्टर करने के बाद, Analytics, Cloud Firestore, Performance Monitoring या Remote Config जैसे Firebase प्रॉडक्ट के लिए, जितने चाहें उतने Firebase SDK टूल जोड़े जा सकते हैं.
अपने प्लैटफ़ॉर्म के लिए, शुरू करने की गाइड में इस प्रोसेस के बारे में ज़्यादा जानें:
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 मैनेजमेंट REST API या Firebase सीएलआई का इस्तेमाल किया जा सकता है. कोई प्रोजेक्ट सेट अप करने और ऐप्लिकेशन रजिस्टर करने के लिए, आपको संगठन से जुड़े कुछ फ़ैसले लेने होंगे. साथ ही, अपने लोकल प्रोजेक्ट में Firebase से जुड़े कॉन्फ़िगरेशन की जानकारी जोड़नी होगी.
प्रोडक्शन ऐप्लिकेशन के लिए, आपको डेवलपमेंट वर्कफ़्लो को साफ़ तौर पर सेट अप करना होगा. आम तौर पर, इसमें एक से ज़्यादा एनवायरमेंट का इस्तेमाल होता है. डेवलपर वर्कफ़्लो के बारे में हमारा दस्तावेज़ पढ़ें. इसमें सामान्य सबसे सही तरीके और सुरक्षा से जुड़े सामान्य दिशा-निर्देश शामिल हैं. इनका इस्तेमाल करके, Firebase प्रोजेक्ट सेट अप करें और ऐप्लिकेशन रजिस्टर करें, ताकि डेवलपमेंट वर्कफ़्लो बनाया जा सके.
Firebase प्रोजेक्ट के साथ इंटरैक्ट करना
प्रॉडक्ट SDK टूल के अलावा, कई अलग-अलग टूल और इंटरफ़ेस का इस्तेमाल करके, सीधे Firebase प्रोजेक्ट के साथ इंटरैक्ट किया जा सकता है.
Firebase कंसोल
Firebase कंसोल, Firebase प्रॉडक्ट, ऐप्लिकेशन, और प्रोजेक्ट-लेवल की सेटिंग को मैनेज करने के लिए सबसे बेहतरीन प्लैटफ़ॉर्म उपलब्ध कराता है.
कंसोल के बाईं ओर मौजूद पैनल में, Firebase के प्रॉडक्ट की सूची होती है. इन्हें टॉप-लेवल कैटगरी के हिसाब से व्यवस्थित किया जाता है. बाईं ओर मौजूद पैनल में सबसे ऊपर, इंटिग्रेशन, ऐक्सेस की अनुमतियां, और बिलिंग शामिल हैं.
पर क्लिक करके किसी प्रोजेक्ट की सेटिंग ऐक्सेस करें. प्रोजेक्ट की सेटिंग में,कंसोल के बीच में ऐसे बटन दिखते हैं जो अलग-अलग तरह के ऐप्लिकेशन रजिस्टर करने के लिए, सेटअप वर्कफ़्लो लॉन्च करते हैं. Firebase का इस्तेमाल शुरू करने के बाद, कंसोल का मुख्य हिस्सा एक डैशबोर्ड में बदल जाता है. इस डैशबोर्ड में, इस्तेमाल किए जा रहे प्रॉडक्ट के आंकड़े दिखते हैं.
ध्यान दें कि Firebase प्रोजेक्ट भी एक Google Cloud प्रोजेक्ट है. इसलिए, आपको कई टास्क या प्रॉडक्ट के लिए, Firebase कंसोल के बजाय Google Cloud कंसोल का इस्तेमाल करना पड़ सकता है.
Firebase सीएलआई (कमांड-लाइन टूल)
Firebase, Firebase Hosting, Cloud Functions for Firebase, और Firebase Extensions जैसे खास Firebase प्रॉडक्ट को कॉन्फ़िगर करने और मैनेज करने के लिए, Firebase CLI भी उपलब्ध कराता है.
सीएलआई इंस्टॉल करने के बाद, आपके पास ग्लोबल firebase
कमांड का ऐक्सेस होता है. अपनी लोकल ऐप्लिकेशन डायरेक्ट्री को Firebase प्रोजेक्ट से लिंक करने के लिए, CLI का इस्तेमाल करें. इसके बाद, Firebase पर होस्ट किए गए कॉन्टेंट के नए वर्शन या फ़ंक्शन के अपडेट डिप्लॉय करें.
Firebase Management REST API
Firebase मैनेजमेंट REST API का इस्तेमाल करके, प्रोग्राम के हिसाब से Firebase प्रोजेक्ट को मैनेज किया जा सकता है. उदाहरण के लिए, प्रोग्राम के ज़रिए किसी ऐप्लिकेशन को प्रोजेक्ट के साथ रजिस्टर किया जा सकता है. इसके अलावा, पहले से रजिस्टर किए गए ऐप्लिकेशन की सूची भी देखी जा सकती है (iOS+ | Android | वेब).
Firebase प्रोजेक्ट आइडेंटिफ़ायर
Firebase प्रोजेक्ट की पहचान, Firebase बैकएंड और अलग-अलग डेवलपर इंटरफ़ेस में की जा सकती है. इसके लिए, अलग-अलग आइडेंटिफ़ायर का इस्तेमाल किया जाता है. इनमें प्रोजेक्ट का नाम, प्रोजेक्ट नंबर, और प्रोजेक्ट आईडी शामिल हैं.
प्रोजेक्ट का नाम
प्रोजेक्ट बनाते समय, आपको प्रोजेक्ट का नाम देना होता है. यह आइडेंटिफ़ायर, Firebase कंसोल, Google Cloud कंसोल, और Firebase सीएलआई में किसी प्रोजेक्ट के लिए, सिर्फ़ संगठन के लिए इस्तेमाल किया जाने वाला नाम होता है. प्रोजेक्ट का नाम, सार्वजनिक तौर पर दिखने वाले किसी भी 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 प्रोजेक्ट, ऐप्लिकेशन, और साइटों के लिए कुछ सामान्य सीमाएं यहां दी गई हैं:
हर खाते के लिए प्रोजेक्ट की संख्या
- Spark की कीमत का प्लान — प्रोजेक्ट बनाने का कोटा, कम प्रोजेक्ट (आम तौर पर 5 से 10) तक सीमित है.
- Blaze प्राइसिंग प्लान — जब तक Cloud Billing खाते की स्थिति अच्छी रहती है, तब तक हर खाते के लिए प्रोजेक्ट बनाने का कोटा काफ़ी बढ़ जाता है.
प्रोजेक्ट बनाने के कोटे की सीमा, ज़्यादातर डेवलपर के लिए समस्या नहीं होती. हालांकि, ज़रूरत पड़ने पर, प्रोजेक्ट के कोटे को बढ़ाने का अनुरोध किया जा सकता है.
ध्यान रखें कि किसी प्रोजेक्ट को पूरी तरह मिटाने में 30 दिन लगते हैं. साथ ही, प्रोजेक्ट को पूरी तरह मिटाए जाने तक, वह प्रोजेक्ट कोटा में शामिल रहता है.
हर प्रोजेक्ट में ऐप्लिकेशन की संख्या
Firebase, किसी Firebase प्रोजेक्ट में 30 से ज़्यादा Firebase ऐप्लिकेशन जोड़ने की अनुमति नहीं देता.
आपको यह पक्का करना चाहिए कि किसी एक Firebase प्रोजेक्ट में मौजूद सभी Firebase ऐप्लिकेशन, उपयोगकर्ता के नज़रिए से एक ही ऐप्लिकेशन के प्लैटफ़ॉर्म वैरिएंट हों. सबसे सही तरीकों के बारे में बताने वाले दस्तावेज़ों में, मल्टी-टेंन्सी के बारे में ज़्यादा पढ़ें.
अक्सर पूछे जाने वाले सवालों में, हर प्रोजेक्ट के लिए ऐप्लिकेशन की सीमा के बारे में ज़्यादा जानें.
हर प्रोजेक्ट के लिए Hosting साइटों की संख्या
Firebase Hosting मल्टीसाइट की सुविधा के तहत, हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 36 साइटें जोड़ी जा सकती हैं.
अपना ऐप्लिकेशन लॉन्च करना
- Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट से जुड़ी सूचनाएं सेट अप करें.
- Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी.
- Firebase लॉन्च चेकलिस्ट देखें.