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


रीयल-टाइम 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 में updatedKeys शामिल है, यह बदले गए पैरामीटर कुंजियों का सेट है. इससे रीयल-टाइम अपडेट शुरू हुआ और इसमें ये शामिल हैं:

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

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

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

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

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

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

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

अगले चरण

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