Cloud Functions की मदद से रि��ोट कॉन्फ़िगरेशन को बेहतर बनाएं


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

Remote Config फ़ंक्शन को ट्रिगर करना

Remote Config इवेंट के लिए हैंडलर तय करने के लिए, functions.remoteConfig मॉड्यूल के onUpdate() फ़ंक्शन का इस्तेमाल करें. onUpdate से मिले TemplateVersion ऑब्जेक्ट में, टेंप्लेट अपडेट के लिए मेटाडेटा के मुख्य फ़ील्ड होते हैं. जैसे, अपडेट का वर्शन नंबर और समय. अपडेट करने वाले उपयोगकर्ता का ईमेल पता, नाम, और इमेज (अगर उपलब्ध हो) भी वापस पाया जा सकता है.

य��ां Remote Config फ़ंक्शन का एक उदाहरण दिया गया है, जो अपडेट किए गए हर वर्शन और उस वर्शन के बीच का अंतर दिखाता है जिसकी जगह इसे लाया गया है. यह फ़ंक्शन, टेंप्लेट ऑब्जेक्ट के versionNumber फ़ील्ड की जांच करता है और मौजूदा (हाल ही में अपडेट किया गया) वर्शन के साथ-साथ, एक नंबर कम वर्शन को भी वापस लाता है:

exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => {
  return admin.credential.applicationDefault().getAccessToken()
    .then(accessTokenObj => {
      return accessTokenObj.access_token;
    })
    .then(accessToken => {
      const currentVersion = versionMetadata.versionNumber;
      const templatePromises = [];
      templatePromises.push(getTemplate(currentVersion, accessToken));
      templatePromises.push(getTemplate(currentVersion - 1, accessToken));

      return Promise.all(templatePromises);
    })
    .then(results => {
      const currentTemplate = results[0];
      const previousTemplate = results[1];

      const diff = jsonDiff.diffString(previousTemplate, currentTemplate);

      functions.logger.log(diff);

      return null;
    }).catch(error => {
      functions.logger.error(error);
      return null;
    });
});

इस सैंपल में, json-diff और request-promise मॉड्यूल का इस्तेमाल करके, डफ़रेंस बनाया गया है. साथ ह��, टेंप्लेट ऑब्जेक्ट पाने के लिए अनुरोध बनाया गया है. Remote Config क्लाइंट लॉजिक और Firebase Cloud Messaging, दोनों को शामिल करने वाले सैंपल के लिए, रीयल टाइम में रिमोट कॉन्फ़िगरेशन अपडेट को प्रोपैगेट करना देखें.