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

Firebase 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 भी शामिल हो, रीयल टाइम में Remote Config के अपडेट को आगे बढ़ाना लेख देखें.