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

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

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

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

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

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

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

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

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

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

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

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

अपडेट के लिए सुनना

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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