इस पेज पर, Firebase प्रोजेक्ट सेट अप करने और किसी प्रोजेक्ट में अपने ऐप्लिकेशन रजिस्टर करने के सबसे सही तरीके बताए गए हैं. इससे आपको अलग-अलग एनवायरमेंट का इस्तेमाल करने वाले डेवलपमेंट वर्कफ़्लो को समझने में मदद मिलेगी. इस पेज पर दिए गए सबसे सही तरीकों को समझने के बाद, सुरक्षा से जुड़े हमारे सामान्य दिशा-निर्देश देखें.
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 ऐप्लिकेशन एक अलग डेटा स्ट्रीम होता है.
इस क्रम में Google Cloud प्रोजेक्ट कहां फ़िट होता है?
Firebase प्रोजेक्ट की हैरारकी का एक पहलू, ऊपर दिए गए डायग्राम में नहीं दिखाया गया है. यह पहलू, Google Cloud प्रोजेक्ट के साथ संबंध है. Firebase प्रोजेक्ट, असल में एक Google Cloud प्रोजेक्ट होता है. इसमें Firebase के लिए खास तौर पर कॉन्फ़िगरेशन और सेवाएं चालू होती हैं. ध्यान दें कि एक ही Firebase प्रोजेक्ट में रजिस्टर किए गए सभी ऐप्लिकेशन, एक ही Google Cloud संसाधन और सेवाओं को शेयर करते हैं और उन्हें ऐक्सेस भी कर सकते हैं.
Firebase प्रोजेक्ट के बारे में जानकारी लेख में, Firebase और Google Cloud के बीच के संबंध के बारे में ज़्यादा जानें
Firebase प्रोजेक्ट के साथ ऐप्लिकेशन के वैरिएंट रजिस्टर करना
अपने ऐप्लिकेशन के वैरिएंट को Firebase प्रोजेक्ट के साथ रजिस्टर करने के लिए, यहां कुछ ज़रूरी सुझाव दिए गए हैं:
पक्का करें कि Firebase प्रोजेक्ट में रजिस्टर किए गए सभी ऐप्लिकेशन, असली उपयोगकर्ता के हिसाब से एक ही ऐप्लिकेशन के प्लैटफ़ॉर्म वैरिएंट हों. किसी ऐप्लिकेशन या गेम के iOS, Android, और वेब वर्शन को एक ही Firebase प्रोजेक्ट के साथ रजिस्टर करें.
अगर आपके पास बिल्ड के ऐसे कई वैरिएंट हैं जो एक ही Firebase संसाधन शेयर कर सकते हैं, तो वैरिएंट को एक ही Firebase प्रोजेक्ट के साथ रजिस्टर करें. उदाहरण के लिए, एक ही प्रोजेक्ट में मौजूद ब्लॉग और वेब ऐप्लिकेशन या एक ही प्रोजेक्ट में मौजूद किसी ऐप्लिकेशन के मुफ़्त और पैसे चुकाकर लिए जाने वाले वर्शन.
अगर आपके पास रिलीज़ की स्थिति के आधार पर, बिल्ड के कई वैरिएंट हैं (ऊपर बताए गए असली उपयोगकर्ता की सामान्य गतिविधि या ऐक्सेस के बजाय), तो हर वैरिएंट को अलग Firebase प्रोजेक्ट के साथ रजिस्टर करें. उदाहरण के लिए, डीबग और रिलीज़ के लिए तैयार बिल्ड. इनमें से हर बिल्ड को उसके Firebase प्रोजेक्ट में रजिस्टर करें.
रिलीज़ की स्थिति के आधार पर बनाए गए बिल्ड को एक ही Firebase संसाधन शेयर नहीं करने चाहिए. ऐसा इसलिए, क्योंकि इससे आपके डीबग डेटा के खराब होने या आपके प्रॉड डेटा को ओवरराइड करने का खतरा रहता है.
इनमें से हर बिल्ड वैरिएंट के प्लैटफ़ॉर्म-वैरिएंट, एक ही Firebase प्रोजेक्ट में होने चाहिए. उदाहरण के लिए, iOS और Android, दोनों के डीबग बिल्ड को "dev" Firebase प्रोजेक्ट में रजिस्टर करें. ऐसा इसलिए, क्योंकि दोनों ही एक जैसे नॉन-प्रोड डेटा और संसाधनों के साथ इंटरैक्ट कर सकते हैं.
मल्टी-टेनेंसी से बचना
मल्टी-टेनेंसी की वजह से, कॉन्फ़िगरेशन और डेटा की निजता से जुड़ी गंभीर समस्याएं हो सकती हैं. इनमें, अनचाहे तौर पर ऐनलिटिक्स एग्रीगेशन, शेयर की गई पुष्टि, ज़रूरत से ज़्यादा जटिल डेटाबेस स्ट्रक्चर, और सुरक्षा नियमों से जुड़ी समस्याएं शामिल हैं.
आम तौर पर, अगर ऐप्लिकेशन के किसी सेट में एक जैसा डेटा और कॉन्फ़िगरेशन शेयर नहीं किया जाता है, तो हर ऐप्लिकेशन को अलग Firebase प्रोजेक्ट के साथ रजिस्टर करें.
उदाहरण के लिए, अगर आपने कोई वाइट-लेबल ऐप्लिकेशन बनाया है, तो अलग-अलग लेबल वाले हर ऐप्लिकेशन का अपना Firebase प्रोजेक्ट होना चाहिए. साथ ही, उस लेबल के iOS और Android वर्शन, एक ही Firebase प्रोजेक्ट में होने चाहिए. निजता की वजहों से, अलग-अलग लेबल वाले हर ऐप्लिकेशन को दूसरों के साथ डेटा शेयर नहीं करना चाहिए.
अगले चरण
अलग-अलग एनवायरमेंट के लिए, सुरक्षा से जुड़े सामान्य दिशा-निर्देश देखें. आपको यह पक्का करना है कि हर एनवायरमेंट और उसका डेटा सुरक्षित रहे.
Firebase लॉन्च चेकलिस्ट देखें.