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

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