مشغِّلات "الإعداد عن بُعد"


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