مشغّلات الإعداد عن بُعد (الجيل الأول)

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