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


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

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

पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना

इस्तेमाल करने से पहले रिमोट कॉन्फ़िगरेशन, आपको ये काम करने होंगे:

  • अपना C++ प्रोजेक्ट रजिस्टर करें और उसे Firebase का इस्तेमाल करने के लिए कॉन्फ़िगर करें.

    अगर आपके C++ प्रोजेक्ट में पहले से ही Firebase का इस्तेमाल हो रहा है, तो इसका मतलब है कि वह पहले से रजिस्टर है और Firebase के लिए कॉन्फ़िगर किया गया.

  • अपने C++ प्रोजेक्ट में Firebase C++ SDK टूल जोड़ें.

ध्यान दें कि Firebase को C++ प्रोजेक्ट में जोड़ने पर, Firebase कंसोल और अपने खुले हुए C++ प्रोजेक्ट में (उदाहरण के लिए, कंसोल से Firebase कॉन्फ़िगरेशन फ़ाइलें चुनकर, उन्हें अपने C++ प्रोजेक्ट में ले जाएं.

दूसरा चरण: अपने ऐप्लिकेशन में रिमोट कॉन्फ़िगरेशन जोड़ना

Android

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

  1. ऐसा Firebase ऐप्लिकेशन बनाएं जो जेएनआई एनवायरमेंट और ऐक्टिविटी में पास हो रहा हो:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

  2. रिमोट कॉन्फ़िगरेशन लाइब्रेरी शुरू करने का तरीका, जैसा कि नीचे दिखाया गया है:

    ::firebase::remote_config::Initialize(app);
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

iOS और उसके बाद के वर्शन

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

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

    app = ::firebase::App::Create(::firebase::AppOptions());
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

  2. रिमोट कॉन्फ़िगरेशन लाइब्रेरी शुरू करने का तरीका, जैसा कि नीचे दिखाया गया है:

    ::firebase::remote_config::Initialize(app);
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

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

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

  1. पैरामीटर के नामों का सेट और डिफ़ॉल्ट पैरामीटर वैल्यू तय करने के लिए, std::map<const char*, const char*> ऑब्जेक्ट या std::map<const char*, firebase::Variant> ऑब्जेक्ट.

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

  2. इसका उपयोग करके इन मानों को रिमोट कॉन्फ़िगरेशन ऑब्जेक्ट में जोड़ें SetDefaults().

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

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

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

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

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

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

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

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

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

रीयल-टाइम अपडेट, Firebase C++ SDK टूल पर काम करते हैं Android और Apple प्लैटफ़ॉर्म के लिए, v11.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);
      }
    });

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

अगले चरण

अगर आपने पहले से रिमोट कॉन्फ़िगरेशन को इस्तेमाल नहीं किया है, तो एक्सप्लोर करें इस्तेमाल के कुछ उदाहरण देखें और अहम सिद्धांतों और बेहतर रणनीतियों के दस्तावेज़ हैं. इनमें ये शामिल हैं: