راه‌اندازهای «پیکربندی از دور» (نسل اول)

می‌توانید تابعی را در پاسخ به رویدادهای 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 را دربرمی‌گیرد، به انتشار به‌روزرسانی‌های «پیکربندی از دور» در زمان واقعی مراجعه کنید.