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

प्लैटफ़ॉर्म चुनें: iOS+ Android Web Flutter Unity C++

रीयल-टाइम 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 अपडेट सुनें, ताकि यह पक्का किया जा सके कि सर्वर पर पब्लिश होते ही आपको नई वैल्यू मिल जाएं.

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

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

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

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

लिसनर को सेट अप करते समय, उसे इवेंट हैंडलर को कॉल करने के लिए कॉन्फ़िगर किया जाता है. यह इवेंट हैंडलर, टेंप्लेट का नया वर्शन अपने-आप फ़ेच होने पर और उस नए वर्शन में बदलाव होने पर ट्रिगर होता है. ConfigUpdateEventArgs returns 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 से शुरू होती है) से क्लाइंट के लिए कोई अपडेट नहीं मिलता. इन मामलों में, ConfigUpdateEventArgs तरीके या सर्वे पूरा होने की सूचना नहीं दी जाएगी.

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

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

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

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

अगले चरण

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