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