Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

원격 구성 트리거

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

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

원격 구성 기능 트리거

원격 구성 기능을 트리거하려면 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 모듈을 사용하여 diff를 만들고 템플릿 개체를 가져오기 위한 요청을 빌드합니다. 원격 구성 클라이언트 로직과 Firebase 클라우드 메시징을 통합하는 샘플 은 실시간으로 원격 구성 업데이트 전파 를 참조하세요.