रिमोट कॉन्फ़िगरेशन ट्रिगर (पहली जनरेशन)

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

रिमोट कॉन्फ़िगरेशन फ़ंक्शन को ट्रिगर करना

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

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

exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => {
  return 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 को शामिल करने वाले सैंपल के लिए, रिमोट कॉन्फ़िगरेशन के अपडेट को रीयल टाइम में लागू करना लेख पढ़ें.