Bạn có thể kích hoạt một hàm để phản hồi các sự kiện Firebase Remote Config, bao gồm cả việc phát hành phiên bản cấu hình mới hoặc quay lại phiên bản cũ. Hướng dẫn này mô tả cách tạo một hàm nền Remote Config thực hiện việc so sánh hai phiên bản mẫu.
Kích hoạt hàm Remote Config
Để xác định trình xử lý cho các sự kiện Remote Config, hãy sử dụng hàm onUpdate()
của mô-đun functions.remoteConfig
.
Đối tượng TemplateVersion
do onUpdate
trả về chứa các trường siêu dữ liệu chính cho bản cập nhật mẫu, chẳng hạn như số phiên bản và thời gian cập nhật.
Bạn cũng có thể truy xuất email của người dùng đã cập nhật, cùng với tên và hình ảnh (nếu có).
Dưới đây là ví dụ về hàm Remote Config trả về sự khác biệt giữa mỗi phiên bản đã cập nhật và phiên bản đã thay thế. Hàm này kiểm tra trường versionNumber
của đối tượng mẫu và truy xuất phiên bản hiện tại (mới cập nhật) cùng với phiên bản thấp hơn một số:
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; }); });
Mẫu này sử dụng các mô-đun json-diff
và request-promise
để tạo sự khác biệt và tạo yêu cầu để lấy đối tượng mẫu. Để biết mẫu kết hợp logic ứng dụng Remote Config cũng như Firebase Cloud Messaging, hãy xem phần Truyền tải nội dung cập nhật Cấu hình từ xa theo thời gian thực.