Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल शुरू करना


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 जोड़ने के बाद:

  1. JNI एनवायरमेंट और गतिविधि को पास करके, Firebase ऐप्लिकेशन बनाएं:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. Remote Config लाइब्रेरी को इस तरह शुरू करें:

    ::firebase::remote_config::Initialize(app);

iOS+

अपने ऐप्लिकेशन में Firebase जोड़ने के बाद:

  1. Firebase ऐप्लिकेशन बनाएं:

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. Remote Config लाइब्रेरी को इस तरह शुरू करें:

    ::firebase::remote_config::Initialize(app);

तीसरा चरण: ऐप्लिकेशन में डिफ़ॉल्ट पैरामीटर वैल्यू सेट करना

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

  1. पैरामीटर के नामों का एक सेट और पैरामीटर की डिफ़ॉल्ट वैल्यू तय करें. इसके लिए, ConfigKeyValue* ऑब्जेक्ट या ConfigKeyValueVariant* ऑब्जेक्ट का इस्तेमाल करें. साथ ही, ऑब्जेक्ट के साइज़ के तौर पर कलेक्शन का साइज़ दें.

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

  2. SetDefaults() का इस्तेमाल करके, इन वैल्यू को Remote Config ऑब्जेक्ट में जोड़ें.

चौथा चरण: अपने ऐप्लिकेशन में इस्तेमाल करने के लिए पैरामीटर वैल्यू पाना

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

ये वैल्यू पाने के लिए, नीचे दिए गए उस तरीके को कॉल करें जो आपके ऐप्लिकेशन के लिए ज़रूरी डेटा टाइप पर मैप करता है. इसके लिए, पैरामीटर कुंजी को आर्ग्युमेंट के तौर पर दें:

पांचवां चरण: पैरामीटर वैल्यू सेट करना

  1. Firebase कंसोल में, अपना प्रोजेक्ट खोलें.
  2. Remote Config डैशबोर्ड देखने के लिए, मेन्यू से Remote Config चुनें.
  3. पैरामीटर के नाम वही रखें जो आपने अपने ऐप्लिकेशन में तय किए हैं. हर पैरामीटर के लिए, डिफ़ॉल्ट वैल्यू और शर्त के हिसाब से वैल्यू सेट की जा सकती है. डिफ़ॉल्ट वैल्यू, ऐप्लिकेशन में मौजूद डिफ़ॉल्ट वैल्यू को बदल देगी. ज़्यादा जानने के लिए, Remote Config पैरामीटर और शर्तें देखें.

छठा चरण: वैल्यू फ़ेच करना और उन्हें चालू करना

  1. Remote Config बैकएंड से पैरामीटर वैल्यू फ़ेच करने के लिए, Fetch() वाला तरीका इस्तेमाल करें. बैकएंड पर सेट की गई सभी वैल्यू, Remote Config ऑब्जेक्ट में फ़ेच और कैश मेमोरी में सेव की जाती हैं.
  2. फ़ेच की गई पैरामीटर वैल्यू को अपने ऐप्लिकेशन के लिए उपलब्ध कराने के लिए, ActivateFetched() को कॉल करें

सातवां चरण: रीयल टाइम में अपडेट सुनना

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

रीयल-टाइम अपडेट की सुविधा, Android और Apple प्लैटफ़ॉर्म के लिए, Firebase C++ SDK के 11.0.0 और उसके बाद के वर्शन पर काम करती है.

  1. अपने ऐप्लिकेशन में, अपडेट सुनने के लिए 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 इस्तेमाल के उदाहरण देखें. साथ ही, कुछ मुख्य कॉन्सेप्ट और बेहतर रणनीतियों के दस्तावेज़ देखें. इनमें ये शामिल हैं: