Firebase रिमोट कॉन्फ़िगरेशन की मदद से डेटा लोड करने की रणनीतियां

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

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

पहली रणनीति: लोड होने पर फ़ेच और चालू करना

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

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

रणनीति 2: लोड होने वाली स्क्रीन के पीछे चालू करें

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

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

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

रणनीति 3: अगले स्टार्टअप के लिए नई वैल्यू लोड करें

एक असरदार रणनीति यह है कि को चालू करें. इस रणनीति में, आपका ऐप्लिकेशन चालू हो जाता है नए पैरामीटर फ़ेच करने से पहले, स्टार्टअप पर वैल्यू फ़ेच की गईं. यह माना कि इसे शायद पहले ही फ़ेच कर लिया गया है — लेकिन अभी तक चालू नहीं हुआ है — नए कॉन्फ़िगरेशन की वैल्यू. इस रणनीति के काम करने का क्रम यह है:

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

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

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

लोड करने के फ़ायदे और नुकसान के बारे में ऊपर हुई चर्चा से आपको समझ आ गया होगा. इस्तेमाल के कुछ पैटर्न हैं.

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

अगले चरण

इन तीन बुनियादी रणनीतियों में, उन रणनीतियों की पूरी सूची नहीं है के तरीके बताए गए हैं. अपनी ज़रूरतों के आधार पर, आपके पास रणनीतियों का इस्तेमाल किया जा सकता है.

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