실시간 Remote Config을 사용하면 서버에 게시되는 즉시 업데이트된 파라미터 키와 값을 수신할 수 있습니다. 이렇게 하면 Remote Config 파라미터 값을 사용하여 제어되는 모든 유형의 앱 속성을 빠르게 업데이트할 수 있습니다. 실시간 Remote Config 업데이트를 사용하면 다음 작업을 할 수 있습니다.
- 타겟팅된 사용자에게 기능을 점진적으로 출시하고 필요한 경우 긴급 롤백을 수행하여 위험을 줄입니다.
- 사용자가 앱을 사용하는 동안 사용자 환경을 빠르게 맞춤설정하여 사용자 참여도를 높입니다. 예를 들어 특정 Google Analytics 사용자 속성과 일치하는 사용자를 위해 배너를 업데이트하고 인센티브를 제공하거나 플레이어 집단에 맞게 게임 난이도를 동적으로 조정할 수 있습니다.
- 빌드 종속 항목 감소 및 개발자 생산성 향상: Remote Config 파라미터를 기능 플래그로 사용하여 개발 및 테스트팀에 기능을 노출하고 프로덕션의 사용자에게는 기능을 숨깁니다.
Remote Config을 사용하는 방법에 대한 자세한 내용은 Remote Config으로 할 수 있는 작업을 참조하세요.
이 가이드에서 다룰 내용은 다음과 같습니다.
- 실시간 업데이트를 지원하는 클라이언트-서버 관계에 대해 자세히 알아보기
- SDK 실시간 기능의 작동 방식 이해하기
- 실시간 업데이트를 사용하여 앱 구성을 최신 상태로 유지하는 방법 알아보기
실시간 클라이언트-서버 연결
앱에 실시간 Remote Config을 구현할 때는 Remote Config 백엔드에 대한 HTTP 연결을 여는 실시간 리스너를 만듭니다. 요청에는 현재 기기에 캐시된 구성 버전이 포함됩니다. 실시간 Remote Config 서버는 최신 버전의 서버 측 구성을 가져와야 할 때 무효화 메시지를 사용하여 앱에 신호를 보냅니다.
최신 버전이 있는 서버는 즉시 무효화 신호를 전송합니다.
최신 버전이 없으면 연결을 열린 상태로 유지하고 최신 버전이 서버에 게시될 때까지 대기합니다. 클라이언트 SDK가 무효화 신호를 수신하면 이를 자동으로 가져온 후 리스너 연결을 열 때 등록된 리스너 콜백을 호출합니다. 이 가져오기는 SDK로 실행할 수 있는 가져오기 호출과 비슷하지만 모든 캐싱 또는 minimumFetchInterval
설정을 우회합니다. 앱이 포그라운드에 있는 동안 클라이언트-서버 연결이 유지됩니다.
클라이언트-서버 연결은 HTTP를 통해 이루어지므로 다른 라이브러리의 종속 항목은 필요하지 않습니다.
업데이트 리슨
실시간 업데이트는 Remote Config fetch
호출을 보완합니다. 앱이 시작될 때(또는 앱의 수명 주기 동안) 가져오기를 호출하고 사용자 세션 중에 실시간 Remote Config 업데이트를 리슨하여 서버에 게시되는 즉시 최신 값을 확인하는 것이 좋습니다.
업데이트를 리슨하려면 앱에서 Remote Config 업데이트를 사용할 수 있을 때마다 호출되는 콜백을 구현하는
addOnConfigUpdateListener
,
를 호출합니다. 이 호출은 백그라운드에서 원격 Remote Config의 업데이트 리슨을 시작합니다. 클라이언트-서버 관계에 대한 자세한 내용은 이전 섹션을 참조하세요.
콜백은 activate
를 사용하여 업데이트된 구성 파라미터를 앱에 제공하는 데 적합한 경우가 많습니다. 실시간 Remote Config을 사용할 때 파라미터 값을 활성화하기 위한 추가 전략은 Firebase Remote Config 로딩 전략을 참조하세요.
선택적으로 매개변수 값 활성화
addOnConfigUpdateListener
,
를 호출할 때
변경사항을 기다렸다가 활성화할 수 있습니다.
onUpdate
콜백이 호출됩니다.
이러한 콜백은 매개변수 configUpdate
를 사용하여 호출됩니다. configUpdate
에는
updatedKeys
,
가 포함됩니다. 이는 실시간 업데이트를 시작했으며 다음을 포함하는 변경된 매개변수 키 집합입니다.
- 추가 또는 삭제된 매개변수 키
- 값이 변경된 매개변수 키
- 메타데이터가 변경된 파라미터 키(예: Remote Config 맞춤설정 정보)
- 값 소스가 변경된 매개변수 키(예: 서버 측 값으로 업데이트하는 인앱 기본값)
앱 내 특정 뷰에서 실시간 리스너를 사용하는 경우 활성화하기 전에 해당 뷰와 관련된 매개변수가 변경되었는지 확인할 수 있습니다.
경우에 따라 가져오기(fetch
메서드를 호출할 때 또는 실시간 Remote Config에 의해 시작)가 클라이언트의 업데이트로 이어지지 않는 경우가 있습니다. 이 경우
onUpdate
메서드 또는 완료가 호출되지 않습니다.
리스너 추가 및 삭제
addOnConfigUpdateListener
는 실시간 Remote Config의 기본 진입점입니다. 앱의 수명 주기에서 이 리스너를 처음으로 호출하면 백엔드 연결이 열립니다.
이후의 호출은 동일한 연결을 재사용하여 실시간 클라이언트-서버 연결에 설명된 무효화 메시지를 다중화합니다.
호출은
remove
.
리슨을 중지하려면 리스너 등록 참조를 저장하세요. 이 등록에서 리슨을 중지하려면 remove
를 호출합니다. 유일하게 등록된 리스너인 경우 remove
를 호출하면 서버와의 실시간 연결이 종료됩니다.
다음 단계
Firebase Remote Config 시작하기를 참조하여 Remote Config을 구성하고 실시간으로 업데이트를 리슨하세요.