रिमोट कॉन्फ़िगरेशन की मदद से क्या-क्या किया जा सकता है?

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

प्रतिशत के हिसाब से रोल आउट करने की सुविधा का इस्तेमाल करके नई सुविधाएं लॉन्च करना

Remote Config का इस्तेमाल करके, कुछ प्रतिशत उपयोगकर्ताओं के लिए रिलीज़ की जा सकती है. इससे, आपके उपयोगकर्ताओं को धीरे-धीरे नई सुविधाएं मिलती रहेंगी. इस उदाहरण के लिए, मान लें कि आपके पास एक नया खोज फ़ंक्शन है. इसे new_search_feature_flag नाम के Remote Config पैरामीटर का इस्तेमाल करके चालू और बंद किया जाता है. साथ ही, आपको इसे इंस्टॉल किए गए उपयोगकर्ताओं के 10% के लिए रोल आउट करना है.

ऐसा करने के लिए, अपने new_search_feature_flag पैरामीटर में बदलाव करें, नई शर्त जोड़ें, और उपयोगकर्ता का प्रतिशत रैंडम चुनें. स्लाइडर का इस्तेमाल करके, रैंडम प्रतिशत को 0 से 10 के बीच सेट करें.

किसी मौजूदा पैरामीटर पर प्रतिशत रोल आउट करने के लिए, Firebase कंसोल के जीयूआई के चरणों को पूरा करने वाली इमेज
सुविधा के रोल आउट के प्रतिशत के लिए पैरामीटर जोड़ना

अब, जब new_search_feature_flag वैल्यू को Remote Config से फ़ेच किया जाता है, तो रैंडम तौर पर चुने गए 10% उपयोगकर्ताओं को true वैल्यू मिलती है, जबकि बाकी 90% उपयोगकर्ताओं को false वैल्यू मिलती है.

जब आपको 10% उपयोगकर्ताओं के लिए, इस सुविधा के सही तरीके से काम करने की पुष्टि हो जाए, तो इसे 30%, 50%, और आखिर में 100% तक बढ़ाया जा सकता है.

अपने ऐप्लिकेशन के लिए, प्लैटफ़ॉर्म और स्थानीय भाषा के हिसाब से प्रमोशन बैनर तय करना

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

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

प्लैटफ़ॉर्म और स्थानीय भाषा के हिसाब से प्रमोशन बैनर तय करने के लिए, Firebase कंसोल के जीयूआई के चरणों के बीच चलने वाली ऐनिमेट की गई इमेज
स्थानीय भाषा में उपलब्ध कराए गए प्रमोशन वाले बैनर के लिए पैरामीटर जोड़ना

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

ऐप्लिकेशन को पहली बार इस्तेमाल करने वाले उपयोगकर्ताओं के हिसाब से, उन्हें कस्टम अनुभव दें

Remote Config का इस्तेमाल करके, उपयोगकर्ताओं को उनकी पसंद के मुताबिक अनुभव दिया जा सकता है. यह अनुभव, इस आधार पर दिया जाता है कि उन्होंने आपका ऐप्लिकेशन पहली बार किस तारीख और समय पर खोला. इसका इस्तेमाल इन कामों के लिए किया जा सकता है:

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

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

सबसे पहले, अपने extra_coins_splash Remote Config पैरामीटर में शर्त के हिसाब से वैल्यू जोड़ें. यह पैरामीटर किसी खास Android या iOS ऐप्लिकेशन को टारगेट करता है. इसके बाद, पहली बार खोलने की तारीख और समय को आने वाले समय में सेट करें. इसके बाद, पैरामीटर की वैल्यू को इन पर सेट करें:

{"banner_text": "Welcome! Enjoy some extra coins!", "bonus_coins": 15, "max_display_retries": 2}

इसके बाद, उस मौजूदा उपयोगकर्ता ग्रुप के लिए शर्त जोड़ें जिसे आपको इनाम देना है. उदाहरण के लिए, जुलाई में शामिल हुए और अक्टूबर में भी आपके गेम का इस्तेमाल कर रहे सभी उपयोगकर्ता. ऐसा करने के लिए, extra_coins_splash पैरामीटर में एक और शर्त के हिसाब से वैल्यू जोड़ें. इसके लिए, पहली बार खोलने की तारीख को 1 जुलाई से 1 अगस्त के बीच सेट करें और पैरामीटर की वैल्यू को इन पर सेट करें:

{"banner_text": "Thanks for being a loyal user!", "bonus_coins": 30, "max_display_retries": 2}:

आपका फ़ाइनल extra_coins_splash पैरामीटर कुछ ऐसा दिखेगा:

<span class=शर्त वाली वैल्यू वाला रिमोट कॉन्फ़िगरेशन पैरामीटर" title="शर्त वाली वैल्यू वाला Remote Config पैरामीटर" width="55%">

इस पैरामीटर के साथ अपना कॉन्फ़िगरेशन पब्लिश करने के बाद, उपयोगकर्ताओं के दोनों ग्रुप को अगली फ़ेचिंग के बाद, कॉइन पैरामीटर की अतिरिक्त वैल्यू मिलेंगी.

अगले चरण के तौर पर, अपने पैरामीटर और टारगेटिंग की शर्तों के साथ A/B Testing प्रयोग या पसंद के मुताबिक बनाने की सुविधा आज़माएं. इसके लिए, अलग-अलग बैनर मैसेज और बोनस सिक्का की रकम का इस्तेमाल करें.

टेस्टिंग ग्रुप के कुछ सदस्यों पर नई सुविधाएं आज़माना

आम तौर पर, टेस्टिंग के लिए सीमित ग्रुप में नई सुविधाओं को टेस्ट करने के लिए, Google Play पर ऐल्फ़ा चैनल या Apple ऐप्लिकेशन के लिए Test Flight का इस्तेमाल किया जाता है. ये टूल तब सबसे सही होते हैं, जब आपको अपने सामान्य डेवलपमेंट साइकल के हिसाब से नई सुविधाओं को टेस्ट करना हो.

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

मान लें कि आपको अपनी कंपनी के कर्मचारियों के बीच नए ग्राफ़िक की जांच करनी है. Remote Config की मदद से, इसे कैसे चालू किया जा सकता है?

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

ऐनिमेशन वाली इमेज, Firebase कंसोल के जीयूआई के चरणों के बीच चलती हुई दिख रही है. ऐसा, टेस्टिंग के लिए चुने गए सीमित ग्रुप पर नए फ़ंक्शन की जांच करने के लिए किया गया है
शर्त के साथ टेस्टिंग ग्रुप को टारगेट करना

अपने ऐप्लिकेशन या गेम में जटिल इकाइयों को कॉन्फ़िगर करने के लिए, JSON का इस्तेमाल करना

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

ऐसे लॉगिन सिस्टम के लिए कॉन्फ़िगरेशन देने का बेहतर तरीका, JSON का इस्तेमाल करना और उन सभी पैरामीटर को एक ही पैरामीटर में ग्रुप करना होगा. इससे, समय के साथ login पैरामीटर में बदलाव करने और उसे मैनेज करने में काफ़ी आसानी होती है.

Firebase कंसोल में, JSON की पुष्टि करने वाला टूल और प्रीटी-प्रिंटर उपलब्ध होता है. इसका इस्तेमाल, Remote Config पैरामीटर में बदलाव करते समय किया जा सकता है. कंसोल में काम करते समय, एडिटर खोलने के लिए {} आइकॉन पर क्लिक करें.

JSON के साथ जटिल इकाइयों को कॉन्फ़िगर करने के लिए, Firebase कंसोल के जीयूआई के चरणों के बीच चलने वाली ऐनिमेट की गई इमेज
पैरामीटर को ग्रुप करने के लिए JSON एडिटर का इस्तेमाल करना

Remote Config अपडेट पब्लिश होने पर, Slack / ईमेल मैसेज भेजना

अगर आप किसी ऐसी बड़ी टीम का हिस्सा हैं जो Remote Config का इस्तेमाल करती है, तो अक्सर यह पता लगाना मुश्किल होता है कि आपकी टीम में कौन और कब Remote Config पब्लिश कर रहा है.

साथ मिलकर काम करने के वर्कफ़्लो को आसान बनाने के लिए, आपको अपने पसंदीदा तरीके (Slack या ईमेल) से, रीयल टाइम में सूचनाएं मिल सकती हैं. Cloud Functions for Firebase में Remote Config बैकग्राउंड ट्रिगर के साथ Remote Config REST API का इस्तेमाल करके, Remote Config टेंप्लेट में बदलाव होने पर सूचना भेजी जा सकती है.

eBay ने हाल ही में अपने लागू होने का सोर्स को ओपन किया है. इससे यह पता चलता है कि वे Slack चैनल में, पिछले और नए Remote Config टेंप्लेट के बीच के अंतर को पब्लिश करने के लिए, Cloud Functions के साथ Remote Config का इस्तेमाल कैसे करते हैं.