Điều kiện kích hoạt Cấu hình từ xa


Bạn có thể kích hoạt một hàm để phản hồi Sự kiện Cấu hình từ xa Firebase, bao gồm việc phát hành phiên bản cấu hình mới hoặc khôi phục về phiên bản cũ. Hướng dẫn này mô tả cách tạo chức năng nền cho Cấu hình từ xa thực hiện điểm khác biệt giữa hai phiên bản mẫu.

Kích hoạt chức năng Cấu hình từ xa

Để xác định trình xử lý cho các sự kiện Cấu hình từ xa, hãy sử dụng functions.remoteConfig hàm onUpdate() của mô-đun. Đối tượng TemplateVersion được trả về bởi onUpdate chứa siêu dữ liệu khoá trường 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 đã thực hiện cập nhật, kèm theo tên và hình ảnh nếu có.

Dưới đây là ví dụ về chức năng Cấu hình từ xa sẽ trả về điểm khác biệt của từng phiên bản đã cập nhật và phiên bản được thay thế. Hàm sẽ 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 json-diffrequest-promise mô-đun để tạo sự khác biệt và tạo yêu cầu để lấy đối tượng mẫu. Để xem mẫu kết hợp logic ứng dụng Cấu hình từ xa cũng như Giải pháp gửi thông báo qua đám mây của Firebase, xem Nâng cao nội dung cập nhật Cấu hình từ xa theo thời gian thực.