2022년 10월 18일에 오프라인과 온라인으로 진행될 Firebase Summit에 참여하세요. Firebase로 앱을 빠르게 개발하고 안심하고 앱을 출시하며 손쉽게 확장하는 방법을 알아보세요. 지금 등록하기

원격 구성 트리거

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

새로운 구성 버전 게시 또는 이전 버전으로 롤백을 포함한 Firebase 원격 구성 이벤트에 대한 응답으로 함수를 트리거할 수 있습니다. 이 가이드에서는 템플릿 버전 2개의 차이를 비교하는 원격 구성 백그라운드 함수를 만드는 방법을 설명합니다.

원격 구성 함수 트리거

원격 구성 함수를 트리거하려면 functions.remoteConfig에서 제공하는 onUpdate 핸들러를 사용하세요. onUpdate에서 반환하는 TemplateVersion 객체에는 버전 번호와 업데이트 시간 같은 템플릿 업데이트의 핵심 메타데이터 필드가 포함되어 있습니다. 또한 업데이트한 사용자의 이메일을 이름 및 이미지(사용 가능한 경우)와 함께 검색할 수 있습니다.

다음은 업데이트된 각 버전과 대체된 버전의 차이를 반환하는 원격 구성 함수의 예시입니다. 이 함수는 템플릿 객체의 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 모듈을 사용하여 차이를 만들고 템플릿 객체를 가져오기 위한 요청을 빌드합니다. Firebase 클라우드 메시징과 함께 원격 구성 클라이언트 논리를 통합하는 샘플은 원격 구성 업데이트의 실시간 전파를 참조하세요.