इस दस्तावेज़ में, Firebase ऐप्लिकेशन को प्रोडक्शन में लॉन्च करने से पहले, सबसे सही तरीकों और ज़रूरी बातों की चेकलिस्ट दी गई है.
रिलीज़ करने के लिए सामान्य सबसे सही तरीके
पक्का करें कि आपने प्रोडक्शन में डिप्लॉय करने से पहले, Firebase Local Emulator Suite (चुनिंदा प्रॉडक्ट के लिए) में अपने सभी बदलावों की जांच कर ली हो. पूरी तरह से जांच करने पर, महंगी गलतियों से बचा जा सकता है.
Firebase App Check को लागू Firebase App Check करें. यह सुविधा, उन सभी सेवाओं के लिए लागू करें जो इसे सपोर्ट करती हैं . App Check की मदद से, यह पक्का किया जा सकता है कि सिर्फ़ आपके असली ऐप्लिकेशन ही, आपके बैकएंड सेवाओं और संसाधनों को ऐक्सेस कर सकें.
Firebase Remote Config रोलआउट का इस्तेमाल करके, अपने ऐप्लिकेशन में नए फ़ीचर और अपडेट सुरक्षित और धीरे-धीरे रिलीज़ करें.
अगर आपने अब तक Firebase Crashlytics सेट अप नहीं किया है, तो इसे सेट अप करें. यह एक हल्का-फुल्का, रीयल टाइम में काम करने वाला क्रैश रिपोर्टर है. इसकी मदद से, ऐप्लिकेशन की क्वालिटी को खराब करने वाली स्थिरता की समस्याओं को ट्रैक किया जा सकता है, उन्हें प्राथमिकता दी जा सकती है, और ठीक किया जा सकता है.
अपने कीमत प्लान की सीमाएं जानें और बजट से जुड़ी चेतावनियां सेट करें
पक्का करें कि प्रोडक्शन में जाने के बाद, इस्तेमाल की सीमाएं और कोटा न पार हों. खास तौर पर, अगर आपने बिना किसी शुल्क वाला स्पार्क प्लान लिया है. इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ कीमत वाले प्लान पर अपग्रेड करने पर विचार करें.
अपने प्रोजेक्ट के लिए, बजट से जुड़ी चेतावनियां सेट अप करें.
ध्यान दें कि बजट से जुड़ी चेतावनियां, बजट की सीमाएं नहीं होती हैं. जब आपने कॉन्फ़िगर की गई थ्रेशोल्ड के पास पहुंच जाएंगे या उसे पार कर लेंगे, तो आपको एक चेतावनी भेजी जाएगी. इससे, अपने ऐप्लिकेशन या प्रोजेक्ट में कार्रवाई की जा सकती है.
चेतावनी मिलने पर, बिलिंग की सुविधा बंद करने वाले फ़ंक्शन जैसी, बेहतर चेतावनियां और कार्रवाइयां सेट अप करने पर विचार करें.
अगर Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase, और Firebase Extensions का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि आप खर्च की सीमाएं भी सेट अप करें. इससे, अगर आपका प्रोजेक्ट उस सेवा के लिए सेट किए गए बजट तक पहुंच जाता है, तो लागू होने वाली सेवा रुक जाएगी.
प्रॉडक्ट के हिसाब से बने डैशबोर्ड या मुख्य इस्तेमाल और बिलिंग डैशबोर्ड में Firebase कंसोल में अपने इस्तेमाल की निगरानी करें.
पक्का करें कि आपके Firebase प्रोजेक्ट और ऐप्लिकेशन, सबसे सही तरीकों के मुताबिक हों
चाहे आप अकेले डेवलपर हों या एंटरप्राइज़ साइज़ वाली टीम, यह पक्का करना ज़रूरी है कि आपके Firebase प्रोजेक्ट, ऐप्लिकेशन, और संसाधन सुरक्षित हों. साथ ही, टीम में होने वाले बदलावों के साथ-साथ, उनमें भी बदलाव किया जा सके.
यह याद रखना मददगार है कि Firebase प्रोजेक्ट, असल में Firebase की सेवाओं और कॉन्फ़िगरेशन के साथ, Google Cloud प्रोजेक्ट होता है. इसका मतलब है कि Google Cloud के सुझाए गए कई सबसे सही तरीके, Firebase पर भी लागू होते हैं.
डेवलपमेंट, टेस्टिंग, और प्रोडक्शन के लिए अलग-अलग Firebase प्रोजेक्ट इस्तेमाल करें.
अपने प्रोडक्शन ऐप्लिकेशन से जुड़े प्रोजेक्ट को, अनचाहे ऐक्सेस से बचाने की कोशिश करें. डेवलपमेंट वर्कफ़्लो सेट अप करने के बारे में ज़्यादा जानें.
अपने अहम प्रोजेक्ट को सुरक्षित रखें. खास तौर पर, अपने प्रोडक्शन ऐप्लिकेशन से जुड़े प्रोजेक्ट को.
गलती से प्रोजेक्ट मिटने से बचाने के लिए, प्रोजेक्ट लियन का इस्तेमाल करें.
"Prod" टैग को Firebase कंसोल में लागू करें, ताकि अपने प्रोडक्शन एनवायरमेंट को आसानी से पहचाना जा सके.
अगर आपने अब तक Google Cloud संगठन सेट अप नहीं किया है, तो इसे सेट अप करें और इसमें अपने Firebase प्रोजेक्ट जोड़ें.
अपने Firebase प्रोजेक्ट में एक से ज़्यादा मालिक जोड़ें, खास तौर पर, अगर आपका प्रोजेक्ट किसी Google Cloud संगठन में नहीं है. Firebase प्रोजेक्ट के लिए मालिकों को कब और कैसे असाइन किया जाए, इस बारे में ज़्यादा जानें.
प्रोजेक्ट के सदस्यों (जिन्हें "प्रिंसिपल" भी कहा जाता है) को अलग-अलग जोड़ने के बजाय, Google ग्रुप के तौर पर जोड़ें.
ग्रुप का इस्तेमाल करने से, टीम के सदस्यों को एक साथ भूमिकाएं असाइन करना आसान हो जाता है. साथ ही, यह मैनेज करना भी आसान हो जाता है कि आपके Firebase प्रोजेक्ट को कौन ऐक्सेस कर सकता है. खास तौर पर, अगर टीम के सदस्य बदलते हैं या छोड़ते हैं.
अपने Firebase प्रोजेक्ट और संसाधनों को ऐक्सेस करने के लिए, हर प्रोजेक्ट के सदस्य (जिन्हें "प्रिंसिपल" भी कहा जाता है) को सही लेवल का ऐक्सेस दें. ज़्यादा जानने के लिए, Firebase IAM की मदद से प्रोजेक्ट का ऐक्सेस मैनेज करना लेख पढ़ें.
पक्का करें कि लागू होने वाले हर प्रोजेक्ट के सदस्य (जिन्हें "प्रिंसिपल" भी कहा जाता है) ने, खास प्रॉडक्ट या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में चेतावनियां पाने के लिए, अपनी प्राथमिकताएं सेट अप की हों. ज़्यादा जानने के लिए, Firebase से चेतावनियां पाना लेख पढ़ें.
अगर आपको प्रोजेक्ट के खास या अतिरिक्त सदस्यों को सूचनाएं भेजनी हैं, तो अपने प्रोजेक्ट के "ज़रूरी संपर्क" को भी ज़रूरत के मुताबिक बनाया जा सकता है. यह पक्का करने के लिए यह तरीका खास तौर पर मददगार है कि प्रोजेक्ट के मालिक के अलावा, बिलिंग, कानूनी, और प्रॉडक्ट में होने वाले बदलावों के बारे में सूचनाएं अन्य सदस्यों को भी मिलें.
अपनी Firebase API कुंजियों को सिर्फ़ उन एपीआई तक सीमित करें जिन्हें कुंजी की एपीआई की अनुमति वाली सूची में शामिल किया जाना चाहिए. इसके अलावा, Firebase की सुरक्षा से जुड़ी चेकलिस्ट में, एपीआई कुंजियों के बारे में जानकारी देखें.
अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली खास सेवाओं को तैयार करना
आपके ऐप्लिकेशन में इस्तेमाल किए जाने वाले हर प्रॉडक्ट और सेवा के लिए, प्रोडक्शन में इस्तेमाल किए जाने पर कुछ खास बातें ध्यान में रखनी पड़ सकती हैं.
Firebase AI Logic
Google Analytics
अपने ऐप्लिकेशन के लॉन्च होने के साथ ही, Analytics का डेटा इकट्ठा करने के लिए, Google Analytics के लिए ऑडियंस की शर्तें तय करें.
डेटा को Google AnalyticsBigQuery में एक्सपोर्ट करने की सुविधा चालू करने पर विचार करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके या अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.
उपयोगकर्ता प्रॉपर्टी को सिर्फ़ उस जानकारी तक सीमित रखें जो आपके पूरे ऐप्लिकेशन के लाइफ़साइकल के लिए काम की होगी. इन्हें बनाने की एक सीमा होती है और इन्हें संग्रहित नहीं किया जा सकता.
अपनी Google Analytics प्रॉपर्टी और खातों के लिए, Google Analytics भूमिकाओं की सेटिंग देखें. इन अनुमतियों को, Firebase प्रोजेक्ट की IAM अनुमतियों और भूमिकाओं से अलग से मैनेज किया जाता है.
पक्का करें कि आपका App Store आईडी और टीम आईडी (अगर ज़रूरी हो) सही हो प्रोजेक्ट सेटिंग में, Firebase कंसोल की.
App Check
पक्का करें कि Firebase कंसोल की प्रोजेक्ट सेटिंग में, आपका टीम आईडी सही हो.
अगर आपने अब तक Firebase App Check को लागू Firebase App Check नहीं किया है, तो इसे लागू करें. यह सुविधा, उन सभी सेवाओं के लिए लागू करें जो इसे सपोर्ट करती हैं. App Check की मदद से, यह पक्का किया जा सकता है कि सिर्फ़ आपके असली ऐप्लिकेशन ही, आपके बैकएंड सेवाओं और संसाधनों को ऐक्सेस कर सकें.
Authentication
उन सभी प्रोवाइडर को बंद करें जिनका इस्तेमाल नहीं किया जा रहा है. खास तौर पर, गुमनाम तरीके से पुष्टि करने की सुविधा को.
अगर आपका ऐप्लिकेशन, 'Google से साइन इन करें' सुविधा का इस्तेमाल करता है, तो अपनी OAuth की सहमति वाली स्क्रीन को अपनी ज़रूरत के हिसाब से बनाएं.
ईमेल भेजने की सेवा के लिए, अपना डोमेन और भेजने वाले का नाम पसंद के मुताबिक बनाएं Authentication.
अगर Identity Platform की एसएमएस से पुष्टि करने की सेवाओं का इस्तेमाल किया जा रहा है, तो लागू करें Firebase App Check और अपने ऐप्लिकेशन को एसएमएस के गलत इस्तेमाल से बचाने के लिए, एसएमएस के लिए इलाके की नीति कॉन्फ़िगर करें.
पुष्टि करने से जुड़ी सामान्य Authentication गड़बड़ियों के लिए, Apple प्लैटफ़ॉर्म पर गड़बड़ी को ठीक करने की सुविधा लागू करें.
Firebase Firebase कंसोल की प्रोजेक्ट सेटिंग में, अपने ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट के लिए, रिलीज़ SHA-1 हैश जोड़ें. अगर आपका ऐप्लिकेशन, फ़ोन नंबर से साइन इन करने या 'Google से साइन इन करें' सुविधा का इस्तेमाल करता है, तो SHA-1 हैश ज़रूरी है. 'Google से साइन इन करें' सुविधा के लिए, OAuth क्लाइंट की ज़रूरत होती है.
अपने डोमेन के लिए, ऐक्सेस कंट्रोल जोड़ें, ताकि अनधिकृत इस्तेमाल को रोका जा सके. खास तौर पर, अपने प्रोडक्शन डोमेन को Authentication सेक्शन Firebase कंसोल में ऐक्सेस करने की अनुमति दें. यह तब और भी ज़रूरी है, जब Firebase Security Rules पर निर्भर रहने वाले प्रॉडक्ट का इस्तेमाल किया जाता है.
Cloud Firestore
अपने Cloud Firestore Security Rules को कॉन्फ़िगर करें, ताकि गलती से डेटा का ऐक्सेस होने से रोका जा सके.
रिलीज़ के लिए तैयार बिल्ड में, कोड को छोटा करने के लिए ProGuard का इस्तेमाल करें. ProGuard के बिना, Cloud Firestore SDK और उसकी डिपेंडेंसी से, आपके APK का साइज़ बढ़ सकता है.
Cloud Messaging
Cloud Messaging डेटा को BigQuery में एक्सपोर्ट करने की सुविधा चालू करने पर विचार करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके या अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.
Firebase Firebaseकंसोल में, Apple ऐप्लिकेशन के लिए Cloud Messaging के लिए, अपना APNS ऑथ की अपलोड करें. अगर APNS सर्टिफ़िकेट का इस्तेमाल किया जा रहा है, तो पक्का करें कि आपका प्रोडक्शन APNS सर्टिफ़िकेट अपलोड किया गया हो.
Cloud Storage
- अपने Cloud Storage Security Rules को कॉन्फ़िगर करें, ताकि गलती से डेटा ऐक्सेस होने से रोका जा सके.
Crashlytics
पक्का करें कि लागू होने वाले हर प्रोजेक्ट के सदस्य (जिन्हें "प्रिंसिपल" भी कहा जाता है) ने, Crashlytics या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में चेतावनियां पाने के लिए, अपनी प्राथमिकताएं सेट अप की हों. ज़्यादा जानने के लिए, Firebase से चेतावनियां पाना लेख पढ़ें.
डेटा को Crashlytics BigQuery में एक्सपोर्ट करने की सुविधा चालू करने पर विचार करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके या अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.
(सिर्फ़ नेटिव Android और iOS के लिए) CrashlyticsCrashlytics में एआई की मदद से काम करने की सुविधा चालू करने पर विचार करें. इससे, यह समझने में लगने वाला समय कम हो जाएगा कि कोई क्रैश क्यों हुआ और इसके बारे में क्या करना चाहिए.
Crashlytics में इस्तेमाल करने के लिए, रिलीज़ के लिए तैयार बिल्ड के लिए dSYM फ़ाइल अपलोड करें Crashlytics. पक्का करें कि Xcode, dSYM को अपने-आप प्रोसेस कर सके और फ़ाइलें अपलोड कर सके.
Crashlytics में इस्तेमाल करने के लिए, रिलीज़ के लिए तैयार बिल्ड के लिए ProGuard मैपिंग अपलोड करें Crashlytics. Firebase सीएलआई का इस्तेमाल करके अपलोड किया जा सकता है.
अपने Android ऐप्लिकेशन की परफ़ॉर्मेंस के बारे में ज़्यादा जानकारी पाने के लिए, Firebase को Google Play से लिंक करें. उदाहरण के लिए, आप Google PlayGoogle Play ट्रैक के हिसाब से, अपने ऐप्लिकेशन की क्रैश रिपोर्ट फ़िल्टर कर सकते हैं. इससे, डैशबोर्ड को खास बिल्ड पर बेहतर तरीके से फ़ोकस किया जा सकता है.
Android को टारगेट करने वाले और IL2CPP का इस्तेमाल करने वाले बिल्ड के लिए, पक्का करें कि आपने हर बिल्ड रन के लिए नेटिव सिंबल अपलोड किए हों. भले ही, कोड या कॉन्फ़िगरेशन में कोई बदलाव हुआ हो या नहीं.
Dynamic Links
- Dynamic Links की सुविधा बंद कर दी गई है. इसलिए, हमारा सुझाव है कि इस सेवा से माइग्रेट करें. ज़्यादा जानने के लिए, बंद की जा रही सुविधा से जुड़े अक्सर पूछे जाने वाले सवाल पढ़ें.
Firebase ML
अपने Firebase ML Apple ऐप्लिकेशन को प्रोडक्शन के लिए तैयार करना लेख पढ़ें.
अपने Firebase ML Android ऐप्लिकेशन को प्रोडक्शन के लिए तैयार करना लेख पढ़ें.
Performance Monitoring
पक्का करें कि लागू होने वाले हर प्रोजेक्ट के सदस्य (जिन्हें "प्रिंसिपल" भी कहा जाता है) ने, Performance Monitoring या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में चेतावनियां पाने के लिए, अपनी प्राथमिकताएं सेट अप की हों. ज़्यादा जानने के लिए, Firebase से चेतावनियां पाना लेख पढ़ें.
डेटा को Performance MonitoringBigQuery में एक्सपोर्ट करने की सुविधा चालू करने पर विचार करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके या अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.
Realtime Database
अपने Realtime Database Security Rules को कॉन्फ़िगर करें, ताकि गलती से डेटा ऐक्सेस होने से रोका जा सके.
पक्का करें कि आप स्केल करने के लिए तैयार हों. Realtime Database का डिफ़ॉल्ट कोटा , ज़्यादातर ऐप्लिकेशन के लिए काफ़ी होता है. हालांकि, कुछ ऐप्लिकेशन को ज़्यादा क्षमता की ज़रूरत पड़ सकती है.
अपने ProGuard के नियम कॉन्फ़िगर करें Realtime Database के साथ काम करने के लिए.
Remote Config
- पक्का करें कि Remote Config के किसी भी एक्सपेरिमेंटल Remote Config नियम का असर, रिलीज़ के बाद ऐप्लिकेशन का इस्तेमाल करने वाले उपयोगकर्ताओं पर न पड़े. साथ ही, यह भी पक्का करें कि आपके ऐप्लिकेशन में, सर्वर और इन-ऐप्लिकेशन डिफ़ॉल्ट सही तरीके से डिस्ट्रिब्यूट किए गए हों.