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


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

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

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

अगले चरण

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