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 वाले सैंपल के लिए, रीयल टाइम में रिमोट कॉन्फ़िगरेशन अपडेट करना लेख पढ़ें.