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


रीयल-टाइम रिमोट कॉन्फ़िगरेशन आपको सर्वर पर प्रकाशित होते ही अद्यतन पैरामीटर कुंजी और मान प्राप्त करने देता है। यह आपको रिमोट कॉन्फिग पैरामीटर मान का उपयोग करके नियंत्रित किसी भी प्रकार की ऐप विशेषता को तुरंत अपडेट करने की अनुमति देता है। रीयल-टाइम रिमोट कॉन्फ़िगरेशन अपडेट के साथ, आप यह कर सकते हैं:

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

रिमोट कॉन्फिग का उपयोग करने के तरीकों के बारे में अधिक जानने के लिए, देखें कि आप रिमोट कॉन्फिग के साथ क्या कर सकते हैं?

इस गाइड में, आप:

  • क्लाइंट-सर्वर संबंध के बारे में और जानें जो वास्तविक समय अपडेट का समर्थन करता है।
  • समझें कि एसडीके में वास्तविक समय की कार्यक्षमता कैसे काम करती है।
  • अपने ऐप कॉन्फ़िगरेशन को अद्यतित रखने के लिए रीयल-टाइम अपडेट का उपयोग करना सीखें।

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

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

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

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

चूंकि क्लाइंट-सर्वर कनेक्शन HTTP पर बना है, इसलिए इसे अन्य लाइब्रेरी पर निर्भरता की आवश्यकता नहीं है।

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

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

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

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

पैरामीटर मानों को चुनिंदा रूप से सक्रिय करें

जब आप कॉल करते हैंaddOnConfigUpdateListener ,आप परिवर्तन की प्रतीक्षा कर सकते हैं और इसे सक्रिय कर सकते हैं।

लौटाता है onUpdate कॉलबैक तब कॉल किया जाता है जब टेम्पलेट का नया संस्करण स्वचालित रूप से लाया गया हो और जब उस नए संस्करण में ऐप में वर्तमान में सक्रिय पैरामीटर मानों में परिवर्तन हो।

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

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

यदि आप अपने ऐप के भीतर किसी विशेष दृश्य में रीयल-टाइम श्रोता का उपयोग कर रहे हैं, तो आप सक्रिय करने से पहले जांच सकते हैं कि उस दृश्य से संबंधित पैरामीटर बदल गए हैं या नहीं।

कभी-कभी, एक फ़ेच (या तो तब शुरू होता है जब आप fetch विधि को कॉल करते हैं, या वास्तविक समय रिमोट कॉन्फ़िगरेशन द्वारा) क्लाइंट के लिए अपडेट का परिणाम नहीं देता है। इन मामलों में,onUpdateविधि या पूर्णता को कॉल नहीं किया जाएगा।

श्रोताओं को जोड़ें और हटाएँ

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

कॉल एक "श्रोता पंजीकरण" लौटाता है, जिसमेंremove

सुनना बंद करने के लिए, श्रोता पंजीकरण का संदर्भ संग्रहीत करें। इस पंजीकरण पर सुनना बंद remove के लिए रिमूव पर कॉल करें। यदि यह एकमात्र पंजीकृत श्रोता है, तो रिमूव को कॉल करने से सर्वर से रीयल-टाइम कनेक्शन remove हो जाता है।

हालाँकि आप मैन्युअल रूप से अपडेट सुनना बंद कर सकते हैं , लेकिन यह अक्सर आवश्यक नहीं होता है। जब ऐप पृष्ठभूमि में प्रवेश करता है तो रीयल-टाइम रिमोट कॉन्फ़िगरेशन स्वचालित रूप से अपडेट सुनना बंद कर देता है और ऐप अग्रभूमि में होने पर पुनरारंभ हो जाता है।

अगले कदम

रिमोट कॉन्फिग को कॉन्फ़िगर करने और वास्तविक समय में अपडेट सुनना शुरू करने के लिए फायरबेस रिमोट कॉन्फिग के साथ आरंभ करें देखें।