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


रीयल-टाइम 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 क्लाइंट-सर्वर वर्कफ़्लो

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

अपडेट के बारे में सुनना

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

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

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

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

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

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

इन कॉलबैक को configUpdate पैरामीटर के साथ शुरू किया जाता है. configUpdate contains updatedKeys, which is the set of changed parameter keys that initiated the real-time update and includes the following:

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

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

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

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

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

कॉल,"लिसनर रजिस्ट्रेशन" दिखाता है. इसमें remove.

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

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

अगले चरण

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