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

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 việc xuất bản một phiên bản cấu hình mới hoặc khôi phục về phiên bản cũ hơn. Hướng dẫn này mô tả cách tạo một hàm nền Remote Config để thực hiện so sánh sự khác biệt giữa hai phiên bản mẫu.

Kích hoạt hàm Cấu hình từ xa

Để xác định một 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 khoá 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 đã thực hiện bản cập nhật, cùng với tên và hình ảnh (nếu có).

Dưới đây là ví dụ về một hàm Remote Config mà trả về sự khác biệt giữa mỗi phiên bản đã cập nhật và phiên bản mà 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 có số thấp hơn một đơn vị:

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-diffrequest-promise để tạo sự khác biệt và xây dựng yêu cầu lấy đối tượng mẫu. Để xem mẫu kết hợp logic máy khách Remote Config cũng như Firebase Cloud Messaging, hãy xem phần Truyền bá các bản cập nhật Cấu hình từ xa theo thời gian thực.