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

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

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

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

अगले चरण

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