अपने ऐप्लिकेशन में पैरामीटर तय करने और क्लाउड में उनकी वैल्यू अपडेट करने के लिए, Firebase Remote Config का इस्तेमाल किया जा सकता है. इससे, ऐप्लिकेशन का अपडेट डिस्ट्रिब्यूट किए बिना ही, ऐप्लिकेशन के लुक और काम करने के तरीके में बदलाव किया जा सकता है.
Remote Config लाइब्रेरी का इस्तेमाल, इन-ऐप्लिकेशन डिफ़ॉल्ट पैरामीटर वैल्यू को सेव करने के लिए किया जाता है. साथ ही, इसका इस्तेमाल Remote Config बैकएंड से अपडेट की गई पैरामीटर वैल्यू फ़ेच करने के लिए किया जाता है. इसके अलावा, यह लाइब्रेरी यह कंट्रोल करती है कि फ़ेच की गई वैल्यू आपके ऐप्लिकेशन के लिए कब उपलब्ध कराई जाएं. ज़्यादा जानने के लिए, रिमोट कॉन्फ़िगरेशन लोड करने की रणनीतियां देखें.
पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना
Remote Config का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
अपने C++ प्रोजेक्ट को रजिस्टर करें और Firebase का इस्तेमाल करने के लिए इसे कॉन्फ़िगर करें.
अगर आपके C++ प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल किया जा रहा है, तो यह पहले से ही Firebase के लिए रजिस्टर और कॉन्फ़िगर किया गया है.
अपने C++ प्रोजेक्ट में Firebase C++ SDK जोड़ें.
ध्यान दें कि C++ प्रोजेक्ट को Firebase से जोड़ने के लिए, आपको Firebase कंसोल और खुले हुए C++ प्रोजेक्ट, दोनों में टास्क पूरे करने होंगे. उदाहरण के लिए, आपको कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें डाउनलोड करनी होंगी. इसके बाद, उन्हें अपने C++ प्रोजेक्ट में ले जाना होगा.
दूसरा चरण: अपने ऐप्लिकेशन में Remote Config जोड़ना
Android
अपने ऐप्लिकेशन में Firebase जोड़ने के बाद:
JNI एनवायरमेंट और गतिविधि को पास करके, एक Firebase ऐप्लिकेशन बनाएं:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Remote Config लाइब्रेरी को इस तरह शुरू करें:
::firebase::remote_config::Initialize(app);
iOS+
अपने ऐप्लिकेशन में Firebase जोड़ने के बाद:
Firebase ऐप्लिकेशन बनाएं:
app = ::firebase::App::Create(::firebase::AppOptions());
Remote Config लाइब्रेरी को इस तरह शुरू करें:
::firebase::remote_config::Initialize(app);
तीसरा चरण: ऐप्लिकेशन में डिफ़ॉल्ट पैरामीटर वैल्यू सेट करना
Remote Config ऑब्जेक्ट में, इन-ऐप्लिकेशन डिफ़ॉल्ट पैरामीटर वैल्यू सेट की जा सकती हैं. इससे आपका ऐप्लिकेशन, Remote Config बैकएंड से कनेक्ट होने से पहले, आपकी उम्मीद के मुताबिक काम करेगा. साथ ही, अगर बैकएंड पर कोई वैल्यू सेट नहीं की गई है, तो डिफ़ॉल्ट वैल्यू उपलब्ध होंगी.
पैरामीटर के नामों का सेट और पैरामीटर की डिफ़ॉल्ट वैल्यू तय करें. इसके लिए,
ConfigKeyValue*
ऑब्जेक्ट याConfigKeyValueVariant*
ऑब्जेक्ट का इस्तेमाल करें.अगर आपने पहले ही Remote Config बैकएंड पैरामीटर की वैल्यू कॉन्फ़िगर कर ली हैं, तो आपके पास एक ऐसी फ़ाइल डाउनलोड करने का विकल्प होता है जिसमें ये कुंजी/वैल्यू पेयर शामिल होते हैं. इसका इस्तेमाल करके,
map
ऑब्जेक्ट बनाया जा सकता है. ज़्यादा जानकारी के लिए, Remote Config टेंप्लेट की डिफ़ॉल्ट सेटिंग डाउनलोड करें लेख पढ़ें.SetDefaults()
का इस्तेमाल करके, इन वैल्यू को Remote Config ऑब्जेक्ट में जोड़ें.
चौथा चरण: अपने ऐप्लिकेशन में इस्तेमाल करने के लिए पैरामीटर वैल्यू फ़ेच करना
अब Remote Config ऑब्जेक्ट से पैरामीटर वैल्यू मिल सकती हैं. अगर आपने Remote Config बैकएंड में वैल्यू सेट की हैं, उन्हें फ़ेच किया है, और फिर उन्हें चालू किया है, तो वे वैल्यू आपके ऐप्लिकेशन के लिए उपलब्ध होंगी. ऐसा न करने पर, आपको SetDefaults()
का इस्तेमाल करके कॉन्फ़िगर की गई, ऐप्लिकेशन में मौजूद पैरामीटर की वैल्यू मिलेंगी.
इन वैल्यू को पाने के लिए, यहां दिए गए तरीके को कॉल करें. यह तरीका, आपके ऐप्लिकेशन के हिसाब से डेटा टाइप पर मैप करता है. साथ ही, पैरामीटर की को आर्ग्युमेंट के तौर पर उपलब्ध कराता है:
पांचवां चरण: पैरामीटर वैल्यू सेट करना
- Firebase कंसोल में, अपना प्रोजेक्ट खोलें.
- Remote Config डैशबोर्ड देखने के लिए, मेन्यू से Remote Config चुनें.
- अपने ऐप्लिकेशन में तय किए गए पैरामीटर के नाम से ही पैरामीटर तय करें. हर पैरामीटर के लिए, डिफ़ॉल्ट वैल्यू सेट की जा सकती है. यह वैल्यू, ऐप्लिकेशन में मौजूद डिफ़ॉल्ट वैल्यू को ओवरराइड कर देगी. साथ ही, शर्त के हिसाब से वैल्यू भी सेट की जा सकती हैं. ज़्यादा जानने के लिए, Remote Config पैरामीटर और शर्तें देखें.
छठा चरण: वैल्यू फ़ेच करना और उन्हें चालू करना
- Remote Config बैकएंड से पैरामीटर वैल्यू फ़ेच करने के लिए,
Fetch()
तरीके को कॉल करें. बैकएंड पर सेट की गई सभी वैल्यू, Remote Config ऑब्जेक्ट में फ़ेच और कैश मेमोरी में सेव की जाती हैं. - फ़ेच की गई पैरामीटर वैल्यू को अपने ऐप्लिकेशन में उपलब्ध कराने के लिए,
ActivateFetched()
सातवां चरण: रीयल टाइम में अपडेट सुनना
पैरामीटर वैल्यू फ़ेच करने के बाद, रीयल-टाइम Remote Config का इस्तेमाल करके, Remote Config बैकएंड से अपडेट सुने जा सकते हैं. अपडेट उपलब्ध होने पर, कनेक्ट किए गए डिवाइसों को रीयल-टाइम Remote Config सिग्नल भेजता है. साथ ही, Remote Config के नए वर्शन को पब्लिश करने के बाद, बदलावों को अपने-आप फ़ेच करता है.
रीयल-टाइम अपडेट की सुविधा, Android और Apple प्लैटफ़ॉर्म के लिए Firebase C++ SDK v11.0.0 और इसके बाद के वर्शन पर काम करती है.
- अपने ऐप्लिकेशन में,
AddOnConfigUpdateListener
को कॉल करें, ताकि अपडेट सुनने की सुविधा शुरू हो सके. इससे, नई या अपडेट की गई पैरामीटर वैल्यू अपने-आप फ़ेच हो जाएंगी. यहां दिए गए उदाहरण में, अपडेट के लिए सुना जाता है. साथ ही, जबActivate
को कॉल किया जाता है, तब नई फ़ेच की गई वैल्यू का इस्तेमाल करके, अपडेट किया गया वेलकम मैसेज दिखाया जाता है.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
अगली बार जब Remote Config का नया वर्शन पब्लिश किया जाएगा, तब आपके ऐप्लिकेशन का इस्तेमाल कर रहे डिवाइस और बदलावों को सुनने वाले डिवाइस, कॉन्फ़िगरेशन अपडेट लिसनर को कॉल करेंगे.
अगले चरण
अगर आपने अभी तक ऐसा नहीं किया है, तो Remote Config इस्तेमाल के उदाहरण देखें. साथ ही, कुछ मुख्य कॉन्सेप्ट और बेहतर रणनीतियों से जुड़े दस्तावेज़ देखें. इनमें ये शामिल हैं: