Firebase Remote Config की मदद से, सर्वर से नई वैल्यू को फ़ेच करने और उन्हें अपने ऐप्लिकेशन में चालू करने का तरीका और समय तय किया जा सकता है. इससे, आपको दिखने वाले कॉन्फ़िगरेशन में होने वाले बदलावों के समय को कंट्रोल करके, असली उपयोगकर्ता को बेहतर अनुभव देने में मदद मिलती है. fetchAndActivate()
का इस्तेमाल करके, ऐप्लिकेशन लॉन्च होने पर नई वैल्यू फ़ेच की जा सकती हैं. साथ ही, Remote Config के नए वर्शन के पब्लिश होने के बाद, रीयल-टाइम Remote Config का इस्तेमाल करके, पैरामीटर की नई वैल्यू अपने-आप फ़ेच की जा सकती हैं.
इस गाइड में, ऐप्लिकेशन लोड करने की कुछ रणनीतियों के बारे में बताया गया है. साथ ही, अपने ऐप्लिकेशन के लिए सबसे सही विकल्प चुनने के लिए, अहम बातों के बारे में भी बताया गया है.
पहली रणनीति: लोड होने पर फ़ेच और चालू करना
इस रणनीति में, आपका ऐप्लिकेशन Remote Config से नई वैल्यू फ़ेच करने के लिए, पहली बार शुरू होने पर fetchAndActivate()
को कॉल करेगा. साथ ही, वैल्यू लोड होने के तुरंत बाद उन्हें चालू कर देगा. यह आसान तरीका, कॉन्फ़िगरेशन में ऐसे बदलावों के लिए कारगर है जिनसे आपके यूज़र इंटरफ़ेस (यूआई) में कोई बड़ा विज़ुअल बदलाव नहीं होता. इसे ऐसी किसी भी स्थिति में इस्तेमाल नहीं किया जाना चाहिए जहां उपयोगकर्ताओं के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने के दौरान, उसमें काफ़ी बदलाव हो सकता है.
आपका ऐप्लिकेशन fetchAndActivate()
को कॉल करने के बाद, addOnConfigUpdateListener
को कॉल करके, रीयल टाइम में पैरामीटर वैल्यू के अपडेट को सुनना शुरू कर सकता है. यह तरीका, पैरामीटर वैल्यू के लिए सर्वर साइड के किसी भी अपडेट को सुनना शुरू करता है. इसके बाद, उन्हें अपने-आप फ़ेच करता है और फिर लिसनर को कॉल करता है. लिसनर में नई वैल्यू चालू करना एक आसान रणनीति है. हालांकि, जैसा कि fetchAndActivate()
के लिए बताया गया है, संवेदनशील यूज़र इंटरफ़ेस के लिए, तुरंत चालू करने से बचना चाहिए.
दूसरी रणनीति: लोडिंग स्क्रीन के पीछे ऐप्लिकेशन चालू करना
पहली रणनीति में यूज़र इंटरफ़ेस (यूआई) से जुड़ी संभावित समस्या को ठीक करने के लिए, लोडिंग स्क्रीन का इस्तेमाल किया जा सकता है. अपने ऐप्लिकेशन को तुरंत शुरू करने के बजाय, लोड होने वाली स्क्रीन दिखाएं और अपने कंप्लीशन हैंडलर में fetchAndActivate
को कॉल करें.
इसके तुरंत बाद, कॉलबैक या सूचना का इस्तेमाल करके, लोडिंग स्क्रीन को हटाएं और उपयोगकर्ता को आपके ऐप्लिकेशन के साथ इंटरैक्ट करने की अनुमति दें.
इस रणनीति का इस्तेमाल करने पर, हमारा सुझाव है कि आप लोड होने वाली स्क्रीन पर टाइम आउट जोड़ें. रिमोट कॉन्फ़िगरेशन का एक मिनट का टाइम आउट, ऐप्लिकेशन को शुरू करने के दौरान उपयोगकर्ताओं को बेहतर अनुभव देने के लिए बहुत ज़्यादा हो सकता है.
इस रणनीति के साथ, Remote Config को कॉल करके रीयल-टाइम में अपडेट सुनने की सुविधा का इस्तेमाल करना अच्छा रहेगा.addOnConfigUpdateListener
लोडिंग स्क्रीन दिखने पर, लिसनर जोड़ें. इसके बाद, अपने ऐप्लिकेशन में एक या उससे ज़्यादा ऐसे पॉइंट पर activate()
का इस्तेमाल करें जहां Remote Config वैल्यू की वजह से विज़ुअल में काफ़ी बदलाव न हों.
तीसरी रणनीति: अगले स्टार्टअप के लिए नई वैल्यू लोड करना
आपके ऐप्लिकेशन के अगले स्टार्टअप पर चालू करने के लिए, नई कॉन्फ़िगरेशन वैल्यू लोड करना एक असरदार रणनीति है. इस रणनीति में, आपका ऐप्लिकेशन नई वैल्यू फ़ेच करने से पहले, स्टार्टअप पर फ़ेच की गई वैल्यू को चालू करता है. यह इस आधार पर काम करता है कि हो सकता है कि नई कॉन्फ़िगरेशन वैल्यू पहले ही फ़ेच हो गई हों, लेकिन अभी तक चालू न हुई हों. इस रणनीति के लिए, कार्रवाइयों का क्रम यह है:
- स्टार्टअप होने पर, पहले से फ़ेच की गई वैल्यू तुरंत चालू करें. इससे, पिछली सेशन में सर्वर से डाउनलोड की गई सभी वैल्यू लागू हो जाती हैं. यह प्रोसेस तुरंत पूरी हो जाती है.
- जब उपयोगकर्ता आपके ऐप्लिकेशन से इंटरैक्ट करता है, तो डिफ़ॉल्ट तौर पर तय किए गए कम से कम फ़ेच इंटरवल के हिसाब से नई वैल्यू फ़ेच करने के लिए, असाइनोक्रोनस कॉल शुरू करें. साथ ही, रीयल-टाइम कॉन्फ़िगरेशन अपडेट के लिए, अपडेट सुनने वाला कोई लिसनर जोड़ें. रीयल-टाइम लिसनर, आपके ऐप्लिकेशन के चलने के दौरान, सर्वर पर पब्लिश की गई सभी वैल्यू को अपने-आप फ़ेच करेगा. रीयल-टाइम अपडेट, फ़ेच करने के लिए तय किए गए कम से कम इंटरवल की सेटिंग को बायपास कर देते हैं.
- फ़ेच कॉल के लिए, पूरा होने के हैंडलर या कॉलबैक में कुछ न करें. आपका ऐप्लिकेशन, डाउनलोड की गई वैल्यू तब तक सेव रखेगा, जब तक कि अगली बार ऐप्लिकेशन शुरू करने पर उन्हें चालू नहीं किया जाता.
इस रणनीति की मदद से, उपयोगकर्ता को इंतज़ार करने में काफ़ी कम समय लगता है. ऐप्लिकेशन के लाइफ़साइकल में ज़रूरत के हिसाब से activate()
कॉल के साथ फ़ेच और रीयल-टाइम लिसनर की रणनीतियों को जोड़ने से, यह पक्का होता है कि जब उपयोगकर्ता आपके ऐप्लिकेशन से इंटरैक्ट करते हैं, तो उनके पास Remote Config की नई वैल्यू होती हैं.
एंटी-स्ट्रेटजी लोड हो रही हैं
जैसा कि ऊपर दी गई, लोड करने के फ़ायदों और नुकसानों की चर्चा से आपको पता चल गया होगा कि इस्तेमाल के कुछ पैटर्न से बचना चाहिए.
- जब उपयोगकर्ता यूज़र इंटरफ़ेस को देख रहा हो या उससे इंटरैक्ट कर रहा हो, तब उसके किसी भी हिस्से को अपडेट या उसमें बदलाव न करें. ऐसा सिर्फ़ तब करें, जब आपके पास ऐप्लिकेशन या कारोबार से जुड़ी कोई ज़रूरी वजह हो. जैसे, हाल ही में खत्म हुए प्रमोशन से जुड़े विकल्पों को हटाना.
- एक साथ कई फ़ेच अनुरोध न भेजें. ऐसा करने पर, सर्वर आपके ऐप्लिकेशन को थ्रॉटल कर सकता है. अगर आपको अपडेट बार-बार फ़ेच करने हैं, तो रीयल-टाइम Remote Config का इस्तेमाल करें. ज़्यादातर प्रोडक्शन परिस्थितियों में, ट्रॉथलिंग का जोखिम कम होता है. हालांकि, ऐप्लिकेशन के डेवलपमेंट के दौरान यह समस्या हो सकती है. रीयल-टाइम Remote Config को इसी इस्तेमाल के उदाहरण के लिए डिज़ाइन किया गया है. ट्रैफ़िक को कम करने से जुड़े दिशा-निर्देश देखें.
- Remote Config वैल्यू पाने के लिए, नेटवर्क कनेक्टिविटी पर भरोसा न करें. इन-ऐप्लिकेशन डिफ़ॉल्ट पैरामीटर वैल्यू सेट करें, ताकि आपका ऐप्लिकेशन हमेशा उम्मीद के मुताबिक काम करे. डाउनलोड किए गए टेंप्लेट की डिफ़ॉल्ट वैल्यू का इस्तेमाल करके, ऐप्लिकेशन और Remote Config बैकएंड की डिफ़ॉल्ट वैल्यू को समय-समय पर सिंक किया जा सकता है.
अगले चरण
इन तीन बुनियादी रणनीतियों में, कॉन्फ़िगरेशन वैल्यू को लोड करने के तरीकों की पूरी सूची शामिल नहीं है. अपनी ज़रूरतों के हिसाब से, आपके पास और भी बेहतर रणनीतियां बनाने का विकल्प है.
कॉन्फ़िगरेशन वैल्यू को फ़ेच करने और चालू करने के लिए, खास कॉल के बारे में ज़्यादा जानने के लिए, अपने प्लैटफ़ॉर्म के लिए एपीआई रेफ़रंस देखें.