Firebase के लॉन्च की चेकलिस्ट

इस दस्तावेज़ में, प्रोडक्शन के लिए Firebase ऐप्लिकेशन लॉन्च करने से पहले, सबसे सही तरीकों और ध्यान रखने वाली बातों की चेकलिस्ट दी गई है.

रिलीज़ करने के सबसे सही तरीके

  • पक्का करें कि आपने प्रोडक्शन में डिप्लॉय करने से पहले, Firebase Local Emulator Suite (जिन प्रॉडक्ट के लिए यह सुविधा उपलब्ध है) में सभी बदलावों की जांच कर ली हो. अच्छी तरह से टेस्टिंग करने से, भारी नुकसान से बचा जा सकता है.

  • लागू करना शुरू करें Firebase App Check. यह सुविधा जिन सेवाओं के लिए उपलब्ध है उन सभी के लिए इसे लागू करें. App Check यह पक्का करने में मदद करता है कि सिर्फ़ आपके असली ऐप्लिकेशन, बैकएंड सेवाओं और संसाधनों को ऐक्सेस कर सकें.

  • Firebase की सामान्य सुरक्षा चेकलिस्ट की समीक्षा करें.

  • अपने ऐप्लिकेशन में नई सुविधाओं और अपडेट को सुरक्षित तरीके से और धीरे-धीरे रिलीज़ करने के लिए, Firebase Remote Config रोलआउट का इस्तेमाल करें.

  • अगर आपने अब तक Firebase Crashlytics सेट अप नहीं किया है, तो इसे सेट अप करें. यह एक लाइटवेट और रीयलटाइम क्रैश रिपोर्टर है. इससे आपको ऐप्लिकेशन की क्वालिटी को खराब करने वाली समस्याओं को ट्रैक करने, उन्हें प्राथमिकता देने, और उन्हें ठीक करने में मदद मिलती है.

कीमत के प्लान की सीमाओं के बारे में जानना और बजट से जुड़ी सूचनाएं सेट करना

  • पक्का करें कि प्रोडक्शन में जाने के बाद, इस्तेमाल की सीमाओं और कोटे का उल्लंघन न हो. खास तौर पर, अगर आपने बिना किसी शुल्क वाला Spark प्लान लिया है. इस्तेमाल के हिसाब से पैसे चुकाने वाले ब्लेज़ प्लान पर अपग्रेड करें.

  • अपने प्रोजेक्ट के लिए, बजट से जुड़ी सूचनाएं सेट अप करें.

    • ध्यान दें कि बजट की सूचनाएं, बजट की सीमाएं नहीं होती हैं. जब कॉन्फ़िगर की गई थ्रेशोल्ड वैल्यू के आस-पास पहुंच जाएंगे या उससे ज़्यादा हो जाएगी, तब आपको सूचनाएं भेजी जाएंगी. इससे आपको अपने ऐप्लिकेशन या प्रोजेक्ट में कार्रवाई करने में मदद मिलेगी.

    • ऐडवांस सूचनाएं और कार्रवाइयां सेट अप करें. जैसे, ऐसे फ़ंक्शन जो सूचनाओं के जवाब में बिलिंग को बंद कर देंगे.

    • अगर Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase, और Firebase Extensions का इस्तेमाल किया जाता है, तो हम आपको खर्च की सीमाएं सेट अप करने का सुझाव देते हैं. इससे, अगर आपका प्रोजेक्ट उस सेवा के लिए सेट किए गए बजट तक पहुंच जाता है, तो उस सेवा को रोक दिया जाएगा.

  • प्रॉडक्ट के हिसाब से बने डैशबोर्ड या Firebase कंसोल में मौजूद, इस्तेमाल और बिलिंग डैशबोर्ड में जाकर, इस्तेमाल से जुड़ी जानकारी देखें.

पक्का करें कि आपके Firebase प्रोजेक्ट और ऐप्लिकेशन, सबसे सही तरीकों का पालन करते हों

चाहे आप अकेले डेवलपर हों या आपकी टीम में कई डेवलपर हों, यह ज़रूरी है कि आपके Firebase प्रोजेक्ट, ऐप्लिकेशन, और संसाधनों को सुरक्षित रखा जाए. साथ ही, यह भी ज़रूरी है कि आपकी टीम में होने वाले बदलावों के साथ-साथ, इन प्रोजेक्ट, ऐप्लिकेशन, और संसाधनों को भी अपडेट किया जा सके.

यह याद रखना ज़रूरी है कि Firebase प्रोजेक्ट, असल में एक ऐसा Google Cloudप्रोजेक्ट होता है जिसमें Firebase की सेवाएं और कॉन्फ़िगरेशन चालू होते हैं. इसका मतलब है कि Google Cloud के सुझाए गए कई सबसे सही तरीके, Firebase पर भी लागू होते हैं.

  • डेवलपमेंट, टेस्टिंग, और प्रोडक्शन के लिए अलग-अलग Firebase प्रोजेक्ट इस्तेमाल करें.

    अपने प्रोडक्शन ऐप्लिकेशन से जुड़े प्रोजेक्ट को अनचाहे तौर पर ऐक्सेस करने से बचें. डेवलपमेंट वर्कफ़्लो सेट अप करने के बारे में ज़्यादा जानें.

  • अपने ज़रूरी प्रोजेक्ट को सुरक्षित रखें. खास तौर पर, प्रोडक्शन ऐप्लिकेशन से जुड़े प्रोजेक्ट को.

    • गलती से प्रोजेक्ट मिटने से बचाने के लिए, प्रोजेक्ट लियन का इस्तेमाल करें.

    • Firebase कंसोल में "Prod" टैग लागू करें, ताकि आपके प्रोडक्शन एनवायरमेंट की पहचान करना आसान हो जाए.

  • अगर आपने अब तक ऐसा नहीं किया है, तो Google Cloud संगठन सेट अप करें और उसमें अपने Firebase प्रोजेक्ट जोड़ें.

  • अपने Firebase प्रोजेक्ट के लिए एक से ज़्यादा मालिक जोड़ें. खास तौर पर, अगर आपका प्रोजेक्ट Google Cloud संगठन में नहीं है. Firebase प्रोजेक्ट के लिए, मालिक कब और कैसे असाइन करें, इस बारे में ज़्यादा जानें.

  • प्रोजेक्ट के सदस्यों (जिन्हें "प्रिंसिपल" भी कहा जाता है) को अलग-अलग जोड़ने के बजाय, Google ग्रुप के तौर पर जोड़ें.

    ग्रुप का इस्तेमाल करके, टीम के सदस्यों को एक साथ कई भूमिकाएं असाइन करना आसान हो जाता है. साथ ही, यह मैनेज करना भी आसान हो जाता है कि आपके Firebase प्रोजेक्ट का ऐक्सेस किसके पास है. ऐसा खास तौर पर तब होता है, जब टीम के सदस्य बदलते रहते हैं या छोड़ देते हैं.

  • प्रोजेक्ट के हर सदस्य (जिसे "प्रिंसिपल" भी कहा जाता है) को अपने Firebase प्रोजेक्ट और संसाधनों का सही लेवल का ऐक्सेस दें. ज़्यादा जानने के लिए, Firebase IAM की मदद से प्रोजेक्ट का ऐक्सेस मैनेज करना लेख पढ़ें.

  • पक्का करें कि प्रोजेक्ट में शामिल हर सदस्य (जिसे "प्रिंसिपल" भी कहा जाता है) ने अपनी प्राथमिकताएं सेट अप की हों, ताकि उसे खास प्रॉडक्ट या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में सूचनाएं मिल सकें. ज़्यादा जानकारी के लिए, Firebase से सूचनाएं पाना लेख पढ़ें.

    अगर आपको प्रोजेक्ट के कुछ खास या अतिरिक्त सदस्यों को सूचनाएं भेजनी हैं, तो आपके पास अपने प्रोजेक्ट के "ज़रूरी संपर्कों" को पसंद के मुताबिक बनाने का विकल्प भी होता है. हालांकि, ऐसा करना ज़रूरी नहीं है. इससे यह पक्का करने में मदद मिलती है कि प्रोजेक्ट के मालिक के अलावा, अन्य लोगों को भी बिलिंग, कानूनी, और प्रॉडक्ट में होने वाले बदलावों के बारे में सूचनाएं मिलें.

  • अपनी Firebase एपीआई कुंजियों को सिर्फ़ उन एपीआई तक सीमित करें जिन्हें कुंजी के एपीआई की अनुमति वाली सूची में शामिल करना ज़रूरी है. इसके अलावा, Firebase की सुरक्षा से जुड़ी चेकलिस्ट में एपीआई पासकोड के बारे में जानकारी देखें.

ऐप्लिकेशन में इस्तेमाल की जाने वाली कुछ खास सेवाओं को तैयार करना

आपके ऐप्लिकेशन में इस्तेमाल किए गए हर प्रॉडक्ट और सेवा के लिए, प्रोडक्शन में इस्तेमाल करते समय कुछ बातों का ध्यान रखना पड़ सकता है.

Firebase AI Logic

Google Analytics

  • अपने ऐप्लिकेशन के लॉन्च होने के साथ ही, ऐनलिटिक्स डेटा इकट्ठा करना शुरू करने के लिए, Google Analytics के लिए ऑडियंस की शर्तें तय करें.

  • Google Analytics के डेटा को BigQuery में एक्सपोर्ट करने की सुविधा चालू करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके. इसके अलावा, अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.

  • उपयोगकर्ता प्रॉपर्टी में सिर्फ़ ऐसी जानकारी शामिल करें जो आपके पूरे ऐप्लिकेशन के लाइफ़साइकल के लिए काम की हो. उपयोगकर्ता प्रॉपर्टी बनाने की एक सीमा होती है. साथ ही, इन्हें संग्रहित नहीं किया जा सकता.

  • अपनी Google Analytics प्रॉपर्टी और खातों के लिए, Google Analytics भूमिकाओं की सेटिंग की समीक्षा करें. इन अनुमतियों को, Firebase प्रोजेक्ट की आईएएम अनुमतियों और भूमिकाओं से अलग मैनेज किया जाता है.

  • पक्का करें कि Firebase कंसोल की प्रोजेक्ट सेटिंग में, आपका App Store आईडी और टीम आईडी (अगर ज़रूरी हो) सही हो.

App Check

  • पक्का करें कि Firebase कंसोल की प्रोजेक्ट सेटिंग में आपका टीम आईडी सही हो.

  • अगर आपने अभी तक ऐसा नहीं किया है, तो लागू करना शुरू करें Firebase App Check. इसे उन सभी सेवाओं के लिए लागू करें जो इसका इस्तेमाल कर सकती हैं. App Check यह पक्का करने में मदद करता है कि सिर्फ़ आपके असली ऐप्लिकेशन, बैकएंड सेवाओं और संसाधनों को ऐक्सेस कर सकें.

Authentication

  • उन सभी प्रोवाइडर को बंद करें जिनका इस्तेमाल नहीं किया जा रहा है. खास तौर पर, पहचान छिपाकर पुष्टि करने की सुविधा देने वाले प्रोवाइडर को बंद करें.

  • अगर आपका ऐप्लिकेशन, 'Google से साइन इन करें' सुविधा का इस्तेमाल करता है, तो अपनी OAuth सहमति स्क्रीन को अपने हिसाब से बनाएं.

  • Authentication ईमेल भेजने की सेवा के लिए, अपने डोमेन और ईमेल भेजने वाले खाते को पसंद के मुताबिक बनाएं.

  • अगर Identity Platform की एसएमएस से पुष्टि करने वाली सेवाओं का इस्तेमाल किया जा रहा है, तो Firebase App Check को लागू करना शुरू करें. साथ ही, एसएमएस के गलत इस्तेमाल से अपने ऐप्लिकेशन को सुरक्षित रखने के लिए, एसएमएस क्षेत्र की नीति कॉन्फ़िगर करें.

  • Apple प्लैटफ़ॉर्म पर, सामान्य Authentication गड़बड़ियों को ठीक करने की सुविधा लागू करें.

  • Firebase कंसोल की प्रोजेक्ट सेटिंग में जाकर, अपने ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट के लिए रिलीज़ SHA-1 हैश जोड़ें. अगर आपका ऐप्लिकेशन, फ़ोन नंबर से साइन इन करने की सुविधा या 'Google से साइन इन करें' सुविधा का इस्तेमाल करता है, तो SHA-1 हैश ज़रूरी है. 'Google से साइन इन करें' सुविधा के लिए, OAuth क्लाइंट आईडी की ज़रूरत होती है.

  • अपने डोमेन के लिए ऐक्सेस कंट्रोल की सुविधा चालू करें, ताकि कोई व्यक्ति बिना अनुमति के उनका इस्तेमाल न कर पाए. खास तौर पर, Firebase कंसोल के Authentication सेक्शन में जाकर, अपने प्रोडक्शन डोमेन का ऐक्सेस दें. यह तब खास तौर पर ज़रूरी होता है, जब Firebase Security Rules पर निर्भर रहने वाले प्रॉडक्ट इस्तेमाल किए जा रहे हों.

Cloud Firestore

Cloud Messaging

  • Cloud Messaging के डेटा को BigQuery में एक्सपोर्ट करने की सुविधा चालू करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके. इसके अलावा, अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.

  • Firebase कंसोल में जाकर, Apple ऐप्लिकेशन पर Cloud Messaging के लिए APNS की पुष्टि करने वाली कुंजी अपलोड करें. अगर APNS सर्टिफ़िकेट का इस्तेमाल किया जा रहा है, तो पक्का करें कि आपका प्रोडक्शन APNS सर्टिफ़िकेट अपलोड हो.

Cloud Storage

  • अनजाने में डेटा ऐक्सेस होने से रोकने के लिए, अपने Cloud Storage Security Rules को कॉन्फ़िगर करें.

Crashlytics

  • पक्का करें कि प्रोजेक्ट के हर सदस्य (जिसे "प्रिंसिपल" भी कहा जाता है) ने Crashlytics या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में सूचनाएं पाने के लिए, अपनी प्राथमिकताएं सेट अप की हों. ज़्यादा जानकारी के लिए, Firebase से सूचनाएं पाना लेख पढ़ें.

  • Crashlytics के डेटा को BigQuery में एक्सपोर्ट करने की सुविधा चालू करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके. इसके अलावा, अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.

  • (सिर्फ़ नेटिव Android और iOS के लिए) Crashlytics में एआई की मदद पाने की सुविधा चालू करें. इससे आपको यह समझने में मदद मिलेगी कि क्रैश क्यों हुआ और इसके लिए क्या करना है.

  • रिलीज़ बिल्ड के लिए dSYM फ़ाइल अपलोड करें, ताकि इसका इस्तेमाल Crashlytics में किया जा सके. पक्का करें कि Xcode, dSYM को अपने-आप प्रोसेस कर सकता हो और फ़ाइलें अपलोड कर सकता हो.

  • Crashlytics में इस्तेमाल करने के लिए, रिलीज़ बिल्ड के लिए ProGuard मैपिंग अपलोड करें. Firebase सीएलआई का इस्तेमाल करके, डेटा अपलोड किया जा सकता है.

  • अपने Android ऐप्लिकेशन की परफ़ॉर्मेंस के बारे में ज़्यादा जानकारी पाने के लिए, Firebase को Google Play से लिंक करें. उदाहरण के लिए, Google Play ट्रैक के हिसाब से अपने ऐप्लिकेशन की क्रैश रिपोर्ट फ़िल्टर की जा सकती हैं. इससे आपको डैशबोर्ड पर खास बिल्ड पर बेहतर तरीके से फ़ोकस करने में मदद मिलती है.

  • Android को टारगेट करने वाले और IL2CPP का इस्तेमाल करने वाले बिल्ड के लिए, पक्का करें कि आपने हर बिल्ड रन के लिए नेटिव सिंबल अपलोड किए हों. भले ही, कोड या कॉन्फ़िगरेशन में कोई बदलाव हुआ हो या नहीं.

Firebase ML

Performance Monitoring

  • पक्का करें कि प्रोजेक्ट के हर सदस्य (जिसे "प्रिंसिपल" भी कहा जाता है) ने Performance Monitoring या प्रोजेक्ट की स्थिति (जैसे, बिलिंग प्लान में बदलाव या कोटा की सीमाएं) के बारे में सूचनाएं पाने के लिए, अपनी प्राथमिकताएं सेट अप की हों. ज़्यादा जानकारी के लिए, Firebase से सूचनाएं पाना लेख पढ़ें.

  • Performance Monitoring के डेटा को BigQuery में एक्सपोर्ट करने की सुविधा चालू करें, ताकि BigQuery SQL की मदद से अपने डेटा का विश्लेषण किया जा सके. इसके अलावा, अपने टूल के साथ इस्तेमाल करने के लिए डेटा एक्सपोर्ट किया जा सके.

Realtime Database

  • अनजाने में डेटा ऐक्सेस होने से रोकने के लिए, अपने Realtime Database Security Rules को कॉन्फ़िगर करें.

  • पक्का करें कि आप कारोबार को आगे बढ़ाने के लिए तैयार हों. Realtime Database के पास, ज़्यादातर ऐप्लिकेशन के लिए काफ़ी बड़ा डिफ़ॉल्ट कोटा होता है. हालांकि, कुछ ऐप्लिकेशन को ज़्यादा क्षमता की ज़रूरत पड़ सकती है.

  • Realtime Database के साथ काम करने के लिए, proguard के नियमों को कॉन्फ़िगर करें.

Remote Config

  • पक्का करें कि एक्सपेरिमेंट के तौर पर लागू किए गए Remote Config नियमों का असर, रिलीज़ किए गए ऐप्लिकेशन के उपयोगकर्ताओं पर न पड़े. साथ ही, यह भी पक्का करें कि आपके ऐप्लिकेशन में, सर्वर और ऐप्लिकेशन में डिफ़ॉल्ट रूप से लागू होने वाले सही नियम लागू किए गए हों.

  • Remote Config में minimum_version पैरामीटर कॉन्फ़िगर करें, ताकि अगर ऐप्लिकेशन के पुराने वर्शन काम न करें या बंद हो जाएं, तो उपयोगकर्ताओं को ऐप्लिकेशन अपडेट करने के लिए कहा जा सके या उन्हें ऐसा करने के लिए ज़रूरी बनाया जा सके.