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

원격 구성 트리거

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

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

원격 구성 기능 트리거

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

다음은 업데이트된 각 버전과 교체한 버전의 diff를 반환하는 원격 구성 함수의 예입니다. 이 함수는 템플릿 개체의 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 클라우드 메시징을 통합하는 샘플 은 실시간으로 원격 구성 업데이트 전파 를 참조하세요.

,

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

원격 구성 기능 트리거

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

다음은 업데이트된 각 버전과 교체한 버전의 diff를 반환하는 원격 구성 함수의 예입니다. 이 함수는 템플릿 개체의 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 클라우드 메시징을 통합하는 샘플 은 실시간으로 원격 구성 업데이트 전파 를 참조하세요.