您可以觸發函式來回應 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。
請參閱「即時傳播遠端設定更新」一文。