遠端設定觸發條件


您可以觸發函式來回應 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-diffrequest-promise 模組 建立差異比較並建構要求以取得範本物件。範例 其中包含 Remote Config 用戶端邏輯與 Firebase Cloud Messaging。 請參閱「即時傳播遠端設定更新」一文。