आप रिमोट कॉन्फिग इवेंट के जवाब में एक फ़ंक्शन को ट्रिगर कर सकते हैं, जिसमें नए कॉन्फिग संस्करण का प्रकाशन या पुराने संस्करण में रोलबैक शामिल है। यह मार्गदर्शिका बताती है कि एक रिमोट कॉन्फिग पृष्ठभूमि फ़ंक्शन कैसे बनाया जाए जो दो टेम्पलेट संस्करणों का अंतर करता है।
एक रिमोट कॉन्फिग फ़ंक्शन ट्रिगर करें
रिमोट कॉन्फिग इवेंट के लिए हैंडलर को परिभाषित करने के लिए, 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
मॉड्यूल का उपयोग करता है। एक नमूने के लिए जिसमें रिमोट कॉन्फिग क्लाइंट लॉजिक के साथ-साथ फायरबेस क्लाउड मैसेजिंग शामिल है, वास्तविक समय में रिमोट कॉन्फिग अपडेट का प्रचार करें देखें।