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