https://firebase.google.com/docs/remote-config?hl=ko
Firebase Remote Config
사용자가 앱 업데이트를 할 필요 없이 앱 설정값을 변경할 수 있는 클라우드 서비스
운영자는 Firebase Console 또는 Remote Config REST API를 사용하여 앱 설정값 변경 가능
기본 원리
- Firebase Remote Config 서버에 설정값 입력
- Firebase Console
- Remote Config REST API
- App은 설정값을 서버에서 받아서 사용 - 설정값 셋팅 시점, 갱신 시간은 개발자가 제어
정책 및 제한
- 2,000개의 Remote Config, 500개의 조건 설정 가능
- Key는 256자 제한, Value는 따로 제한하지 않고, 한 프로젝트 내에서 총 Config가 800,000자를 넘지 못함
- Remote Config 키, 설정 값에 기밀 데이터 저장 X. 모든 키 또는 설정 값은 제 3자가 디코딩 가능
- Remote Config 템플릿 및 버전 관리
- https://firebase.google.com/docs/remote-config/templates?hl=ko
- config를 업데이트 할 때 마다 템플릿 생성, 이전 템플릿 검색 or 롤백 가능
- 템플릿은 작성 시간에서 90일, 300개까지 저장 됨. 이후에도 관리하려면 수동으로 저장.
- 롤백은 즉시 적용되므로 사용 시 주의
- 버전 별 비교 기능도 제공
제공하는 기능
- FetchAsync(long cachingTime(s))
- Firebaser Remote Config 서버에서 설정값 가져오기
- 저장된 캐시 데이터의 만료시간이 남았으면 서버에서 가져오지 않고 저장된 데이터 리턴
- 만료시간을 따로 지정하지 않아도 12시간이 기본값
- ActivateFetched()
- 가져온 설정 활성화.
- 성공/실패 여부 리턴. 가져온 설정이 이미 활성화된 적 있으면 false 리턴
- GetValue(string key)
- 저장된 데이터에서 key를 이용해 Value 가져오기
- SetDefaults(int resourceId)
- xml 파일을 이용해 기본값 설정 가능
Fetch 시점
https://firebase.google.com/docs/remote-config/loading
- 앱 실행 직후
- 로딩 화면 이후
- 다음 실행 때 적용