C++ पर Remote Config का इस्तेमाल शुरू करना

प्लैटफ़ॉर्म चुनें: iOS+ Android वेब Flutter Unity C++


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 कंसोल में, DevOps और यूज़र ऐक्टिविटी > रिमोट कॉन्फ़िगरेशन पर जाएं.

  2. पैरामीटर के नाम वही रखें जो आपने अपने ऐप्लिकेशन में तय किए हैं. हर पैरामीटर के लिए, डिफ़ॉल्ट वैल्यू और शर्त के हिसाब से वैल्यू सेट की जा सकती हैं. डिफ़ॉल्ट वैल्यू, ऐप्लिकेशन में मौजूद डिफ़ॉल्ट वैल्यू को बदल देगी. ज़्यादा जानने के लिए, 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 का नया वर्शन पब्लिश किया जाएगा, तो आपके ऐप्लिकेशन को चलाने वाले और बदलावों को सुनने वाले डिवाइस, कॉन्फ़िगरेशन अपडेट लिसनर को कॉल करेंगे.