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


يمكنك تشغيل دالة استجابةً Firebase Remote Config من الأحداث، بما في ذلك نشر إصدار جديد للإعدادات أو العودة إلى إصدار قديم يصف هذا الدليل كيفية إنشاء دالة خلفية Remote Config. يختلف عن إصداري نموذج.

تشغيل دالة Remote Config

لتحديد مُعالِج لأحداث Remote Config، استخدِم functions.remoteConfig للدالة onUpdate() في الوحدة. كائن 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 راجِع نشر تعديلات "الإعداد عن بُعد" في الوقت الفعلي.