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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले चरण

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