रीयल-टाइम रिमोट कॉन्फ़िगरेशन को समझना


रीयल-टाइम Remote Config की मदद से, सर्वर पर अपडेट की गई पैरामीटर कुंजियां और वैल्यू तुरंत मिल जाती हैं. इससे, Remote Config पैरामीटर वैल्यू का इस्तेमाल करके कंट्रोल किए जाने वाले किसी भी तरह के ऐप्लिकेशन एट्रिब्यूट को तुरंत अपडेट किया जा सकता है. रीयल-टाइम Remote Config अपडेट की मदद से, ये काम किए जा सकते हैं:

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

Remote Config का इस्तेमाल करने के तरीकों के बारे में ज़्यादा जानने के लिए, देखें Remote Config की मदद से क्या-क्या किया जा सकता है?

इस गाइड में, आपको ये चीज़ें मिलेंगी:

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

रीयल-टाइम क्लाइंट-सर्वर कनेक्शन

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

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

रीयल-टाइम रिमोट कॉन्फ़िगरेशन क्लाइंट-सर्वर वर्कफ़्लो
रीयल-टाइम Remote Config क्लाइंट-सर्वर वर्कफ़्लो

क्लाइंट-सर्वर कनेक्शन, एचटीटीपी के ज़रिए किया जाता है. इसलिए, इसके लिए अन्य लाइब्रेरी पर निर्भर होने की ज़रूरत नहीं होती.

अपडेट सुनना

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

अपडेट सुनने के लिए, addOnConfigUpdateListener को कॉल करें. कॉलबैक को लागू करना शुरू करें. यह ऐप्लिकेशन में Remote Config अपडेट के बाद, Remote Config के अपडेट के बाद उपलब्ध होता है. क्लाइंट-सर्वर रिलेशनशिप के बारे में ज़्यादा जानने के लिए, पिछला सेक्शन देखें.

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

पैरामीटर वैल्यू को चुनिंदा तौर पर चालू करना

addOnConfigUpdateListener, को कॉल करने पर, बदलाव होने का इंतज़ार करें और उसे चालू करें.

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

इन कॉलबैक को configUpdate पैरामीटर के साथ शुरू किया जाता है. configUpdateमें updatedKeys, शामिल हैं. ये बदली गई पैरामीटर बटन के सेट हैं, जिन्होंने रीयल-टाइम अपडेट को शुरू किया. इनमें ये चीज़ें शामिल हैं:

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

अगर आपके ऐप्लिकेशन में किसी व्यू में रीयल-टाइम लिसनर का इस्तेमाल किया जा रहा है, तो इसे चालू करने से पहले देखें कि उस व्यू के लिए काम के पैरामीटर में बदलाव हुआ है या नहीं.

कभी-कभी, fetch तरीके को कॉल करने या रीयल-टाइम Remote Config से शुरू किए गए फ़ेच से, क्लाइंट के लिए अपडेट नहीं मिलता. इन मामलों में, onUpdate तरीका या पूरा होने की प्रोसेस को कॉल नहीं किया जाएगा.

लिसनर जोड़ें और हटाएं

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

कॉल करने पर,"ऑडियंस के तौर पर रजिस्टर करने की जानकारी" मिलती है. इसमें remove.

सुनना बंद करने के लिए, लिसनर रजिस्ट्रेशन में रेफ़रंस को सेव करें. इस रजिस्ट्रेशन को सुनना बंद करने के लिए, remove को कॉल करें. अगर यह रजिस्टर किया गया एकमात्र Listener है, तो remove को कॉल करने पर, सर्वर से रीयल-टाइम कनेक्शन बंद हो जाता है.

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

अगले चरण

Remote Config को कॉन्फ़िगर करने और रीयल-टाइम में अपडेट सुनने के लिए, Firebase Remote Config का इस्तेमाल शुरू करना लेख पढ़ें.