میتوانید عملکردی را در پاسخ به رویدادهای Remote Config ، از جمله انتشار نسخه پیکربندی جدید یا بازگشت به نسخه قدیمیتر، فعال کنید. این راهنما نحوه ایجاد یک تابع پس زمینه Remote Config را توضیح می دهد که تفاوت دو نسخه الگو را انجام می دهد.
یک تابع Remote Config را فعال کنید
برای تعریف یک کنترل کننده برای رویدادهای Remote Config ، از تابع onUpdate()
ماژول functions.remoteConfig
استفاده کنید. شی TemplateVersion
برگردانده شده توسط onUpdate
حاوی فیلدهای ابرداده کلیدی برای به روز رسانی الگو است، مانند شماره نسخه و زمان به روز رسانی. همچنین میتوانید ایمیل کاربری که بهروزرسانی را انجام داده است، با نام و تصویر در صورت وجود، بازیابی کنید.
در اینجا مثالی از یک تابع 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 را در بر میگیرد، به انتشار بهروزرسانیهای پیکربندی از راه دور در زمان واقعی مراجعه کنید.