يمكنك تشغيل دالة استجابةً لأحداث 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، راجِع نقل تعديلات "الإعداد عن بُعد" في الوقت الفعلي.