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


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

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

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

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