يمكنك تشغيل وظيفة استجابة لأحداث Firebase 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
-prom modules لإنشاء فرق وبناء طلب للحصول على كائن القالب. للحصول على عينة تتضمن منطق عميل Remote Config بالإضافة إلى Firebase Cloud Messaging ، راجع نشر تحديثات التكوين عن بُعد في الوقت الفعلي .
يمكنك تشغيل وظيفة استجابة لأحداث Firebase 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
-prom modules لإنشاء فرق وبناء طلب للحصول على كائن القالب. للحصول على عينة تتضمن منطق عميل Remote Config بالإضافة إلى Firebase Cloud Messaging ، راجع نشر تحديثات التكوين عن بُعد في الوقت الفعلي .