میتوانید در پاسخ به رویدادهای Firebase Remote Config، ازجمله انتشار نسخه پیکربندی جدید یا بازگشت به نسخه قدیمیتر، تابعی را راهاندازی کنید. این راهنما نحوه ایجاد تابع پسزمینه Remote Config را شرح میدهد که تفاوت دو نسخه الگو را انجام میدهد.
راهاندازی تابع «پیکربندی از راه دور»
برای تعریف کردن گرداننده برای رویدادهای Remote Config، از تابع onUpdate() واحد functions.remoteConfig استفاده کنید.
شیء TemplateVersion که توسط
onUpdate برگردانده شده است حاوی فیلدهای فراداده کلیدی
برای بهروزرسانی الگو است، مانند شماره نسخه و زمان بهروزرسانی.
همچنین میتوانید ایمیل کاربری را که بهروزرسانی را انجام داده است، همراه با نام و تصویر (درصورت وجود) بازیابی کنید.
در اینجا مثالی از تابع Remote Config آورده شده است که
تفاوت هر نسخه بهروزشده و نسخهای را که جایگزین آن شده است برمیگرداند. تابع
فیلد versionNumber شیء الگو را بررسی میکند و
نسخه فعلی (بهتازگی بهروزشده) را بههمراه نسخه یک شماره پایینتر بازیابی میکند:
exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => { return 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 را دربرمیگیرد،
به انتشار همزمان بهروزرسانیهای «پیکربندی از راه دور» مراجعه کنید.