फायरबेस रिमोट कॉन्फिग लोडिंग रणनीतियाँ

फायरबेस रिमोट कॉन्फिग सर्वर से नए मान कैसे और कब प्राप्त करें और उन्हें अपने ऐप में सक्रिय करें, इसके लिए बहुत सारी लचीलापन प्रदान करता है, जिससे आप किसी भी दृश्यमान कॉन्फ़िगरेशन परिवर्तन के समय को नियंत्रित करके गुणवत्तापूर्ण अंतिम उपयोगकर्ता अनुभव सुनिश्चित कर सकते हैं। आप fetchAndActivate() का उपयोग करके एप्लिकेशन लॉन्च पर नए मान प्राप्त कर सकते हैं, और अपने रिमोट कॉन्फ़िगरेशन के नए संस्करण के प्रकाशित होने के बाद नवीनतम पैरामीटर मानों को स्वचालित रूप से लाने के लिए एक पूरक विधि के रूप में रीयल-टाइम रिमोट कॉन्फ़िगरेशन का उपयोग कर सकते हैं।

यह मार्गदर्शिका कुछ लोडिंग रणनीतियों पर गौर करती है और आपके ऐप के लिए सर्वोत्तम विकल्प चुनने के लिए मुख्य विचारों पर चर्चा करती है।

रणनीति 1: लोड पर प्राप्त करें और सक्रिय करें

इस रणनीति में, जब आपका ऐप रिमोट कॉन्फिग से नए मान लाने के लिए पहली बार शुरू होता है तो आपका ऐप fetchAndActivate() को कॉल करेगा और लोड होते ही उन्हें सक्रिय कर देगा। यह सरल दृष्टिकोण कॉन्फ़िगरेशन परिवर्तनों के लिए अच्छा काम करता है जिससे आपके यूआई में कोई नाटकीय दृश्य परिवर्तन नहीं होता है। इसे किसी भी स्थिति में टाला जाना चाहिए जहां आपका यूआई स्पष्ट रूप से बदल सकता है जबकि उपयोगकर्ता इसका उपयोग कर रहे हैं।

आपके ऐप द्वारा fetchAndActivate() पर कॉल करने के बाद, यह addOnConfigUpdateListener पर कॉल करके वास्तविक समय में पैरामीटर मान अपडेट सुनना शुरू कर सकता है। यह विधि पैरामीटर मानों के लिए किसी भी सर्वर-साइड अपडेट को सुनना शुरू कर देती है, उन्हें स्वचालित रूप से प्राप्त करती है, फिर श्रोता को कॉल करती है। श्रोता में नए मूल्यों को सक्रिय करना एक सरल रणनीति है। हालाँकि, जैसा कि fetchAndActivate() के लिए बताया गया है, संवेदनशील यूआई के लिए तुरंत सक्रिय करने से बचना चाहिए।

रणनीति 2: लोडिंग स्क्रीन के पीछे सक्रिय करें

रणनीति 1 में आने वाली संभावित यूआई समस्या के समाधान के रूप में, आप लोडिंग स्क्रीन पर भरोसा कर सकते हैं। अपना ऐप तुरंत शुरू करने के बजाय, एक लोडिंग स्क्रीन दिखाएं और अपने कंप्लीशन हैंडलर में fetchAndActivate कॉल करें। फिर उसके ठीक बाद - फिर से कॉलबैक या नोटिफिकेशन का उपयोग करके - लोडिंग स्क्रीन को खारिज करें और उपयोगकर्ता को आपके ऐप के साथ इंटरैक्ट करना शुरू करने की अनुमति दें।

यदि आप इस रणनीति का उपयोग करते हैं, तो लोडिंग स्क्रीन पर टाइमआउट जोड़ने की अनुशंसा की जाती है। उपयोगकर्ताओं के लिए गुणवत्तापूर्ण ऐप स्टार्टअप अनुभव के लिए रिमोट कॉन्फ़िग का एक मिनट का टाइमआउट बहुत लंबा हो सकता है।

addOnConfigUpdateListener को कॉल करके रीयल-टाइम रिमोट कॉन्फ़िगरेशन अपडेट सुनना इस रणनीति के साथ अच्छा काम करता है। लोडिंग स्क्रीन प्रदर्शित होने पर श्रोता जोड़ें, फिर अपने ऐप में एक या अधिक बिंदुओं पर activate() उपयोग करें जहां रिमोट कॉन्फ़िगरेशन मान नाटकीय दृश्य परिवर्तन का कारण नहीं बनेंगे।

रणनीति 3: अगले स्टार्टअप के लिए नए मान लोड करें

एक प्रभावी रणनीति आपके ऐप के अगले स्टार्टअप पर सक्रिय करने के लिए नए कॉन्फ़िगरेशन मान लोड करना है। इस रणनीति में, आपका ऐप नए कॉन्फ़िगरेशन मान लाने का प्रयास करने से पहले स्टार्टअप पर प्राप्त किए गए मानों को सक्रिय करता है, इस धारणा पर काम करता है कि यह पहले ही प्राप्त हो चुका है - लेकिन अभी तक सक्रिय नहीं हुआ है - नए कॉन्फ़िगरेशन मान। इस रणनीति के संचालन का क्रम है:

  1. स्टार्टअप पर, पहले से प्राप्त मूल्यों को तुरंत सक्रिय करें। यह आपके द्वारा पिछले सत्र में सर्वर से डाउनलोड किए गए किसी भी मान को लागू करता है, और लगभग तात्कालिक है।
  2. जब उपयोगकर्ता आपके ऐप के साथ इंटरैक्ट करता है, तो डिफ़ॉल्ट न्यूनतम फ़ेच अंतराल के अनुसार नए मान लाने के लिए एक एसिंक्रोनस कॉल शुरू करें और एक वास्तविक समय कॉन्फ़िगरेशन अपडेट श्रोता जोड़ें। वास्तविक समय श्रोता आपके ऐप के चलने के दौरान सर्वर पर प्रकाशित किसी भी मान को स्वचालित रूप से प्राप्त कर लेगा। रीयल-टाइम अपडेट न्यूनतम फ़ेच अंतराल सेटिंग को बायपास करते हैं।
  3. फ़ेच कॉल के लिए पूर्णता हैंडलर या कॉलबैक में, कुछ न करें। आपका ऐप डाउनलोड किए गए मान तब तक रखेगा जब तक आप अगली बार ऐप शुरू होने पर उन्हें सक्रिय नहीं कर देते।

इस रणनीति के साथ, उपयोगकर्ता का प्रतीक्षा समय बहुत कम हो जाता है। ऐप जीवनचक्र में आवश्यकतानुसार फ़ेच और रीयल-टाइम श्रोता रणनीतियों को activate() कॉल के साथ संयोजित करने से यह सुनिश्चित होता है कि उपयोगकर्ताओं को आपके ऐप के साथ इंटरैक्ट करते समय रिमोट कॉन्फ़िगरेशन से नवीनतम मान प्राप्त होते हैं।

विरोधी रणनीतियाँ लोड हो रही हैं

जैसा कि आप लोडिंग के फायदे और नुकसान की उपरोक्त चर्चा से समझ गए होंगे, कुछ उपयोग पैटर्न हैं जिनसे बचना चाहिए।

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

अगले कदम

इन तीन बुनियादी रणनीतियों में किसी भी तरह से कॉन्फ़िगरेशन मान लोड करने के तरीकों की पूरी सूची शामिल नहीं है। अपनी आवश्यकताओं के आधार पर, आप अधिक परिष्कृत रणनीतियाँ तैयार कर सकते हैं।

कॉन्फ़िगरेशन मान लाने और सक्रिय करने के लिए विशिष्ट कॉल के बारे में अधिक जानने के लिए अपने प्लेटफ़ॉर्म के लिए एपीआई संदर्भ देखें।