Firebase Remote Config를 사용하여 앱의 매개변수를 정의할 수 있습니다. 클라우드에서 해당 값을 업데이트할 수 있으므로, 스프레드시트의 모양을 수정하고 앱 업데이트를 배포하지 않고 앱의 동작을 제어할 수 있습니다.
Remote Config 라이브러리는 인앱 매개변수 기본값을 저장하는 데 사용됩니다. Remote Config 백엔드에서 업데이트된 매개변수 값 가져오기 가져온 값을 앱에 제공할 시기를 제어할 수 있습니다. 자세히 알아보려면 원격 구성 로딩 전략을 참조하세요.
1단계: 앱에 Firebase 추가
사용하기 전에 Remote Config님, 다음 작업을 수행해야 합니다.
C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.
C++ 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 상태입니다.
C++ 프로젝트에 Firebase C++ SDK를 추가합니다.
C++ 프로젝트에 Firebase를 추가할 때 Firebase 콘솔 및 열려 있는 C++ 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 Console에서 Firebase 구성 파일을 다운로드한 후 이 파일을 C++ 프로젝트로 옮기는 작업이 필요합니다.
2단계: 앱에 Remote Config 추가
Android
앱에 Firebase를 추가한 후:
Firebase 앱을 만들고 JNI 환경 및 액티비티를 전달합니다.
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
다음과 같이 Remote Config 라이브러리를 초기화합니다.
::firebase::remote_config::Initialize(app);
iOS+
앱에 Firebase를 추가한 후:
Firebase 앱을 만듭니다.
app = ::firebase::App::Create(::firebase::AppOptions());
다음과 같이 Remote Config 라이브러리를 초기화합니다.
::firebase::remote_config::Initialize(app);
3단계: 인앱 매개변수 기본값 설정
Remote Config에서 인앱 매개변수 기본값을 설정할 수 있습니다. 객체에 연결되기 전에 앱이 의도한 대로 동작하도록 Remote Config 백엔드에 있어야 하므로 아무것도 없는 경우 기본값을 사용할 수 있습니다. 설정할 수 있습니다
std::map<const char*, const char*>
객체 또는std::map<const char*, firebase::Variant>
객체를 사용하여 매개변수 이름과 매개변수 기본값 집합을 정의합니다.firebase::Variant
에 대해 알아보세요.
백엔드 매개변수 Remote Config개를 이미 구성한 경우 이러한 키-값 쌍이 포함된 파일을 다운로드하여 이를 사용하여
map
객체를 구성합니다. 자세한 내용은 다운로드 Remote Config 템플릿 기본값다음 값을 사용하여 이러한 값을 Remote Config 객체에 추가합니다.
SetDefaults()
4단계: 앱에서 사용할 매개변수 값 가져오기
이제 Remote Config 객체에서 매개변수 값을 가져올 수 있습니다. 만약
값을 Remote Config 백엔드에서 가져와서 가져와서 활성화했습니다.
값을 모두 사용할 수 있습니다. 그렇지 않으면 in-app 매개변수를 가져옵니다.
값을
SetDefaults()
이러한 값을 가져오려면 매개변수 키를 인수로 전달하여 앱의 예상 데이터 유형에 매핑하는 아래의 메서드를 호출합니다.
5단계: 매개변수 값 설정
- Firebase 콘솔에서 프로젝트를 엽니다.
- 메뉴에서 Remote Config를 선택하여 Remote Config 대시보드를 표시합니다.
- 앱에 정의한 매개변수와 같은 이름으로 매개변수를 정의합니다. 각 매개변수에 기본값 및 조건부 값을 설정할 수 있으며, 기본값은 이후에 인앱 기본값을 재정의합니다. 자세한 내용은 Remote Config 매개변수 및 조건을 참고하세요.
6단계: 값 가져오기 및 활성화
- Remote Config 백엔드에서 매개변수 값을 가져오려면 다음을 호출합니다.
Fetch()
메서드를 사용하여 축소하도록 요청합니다. 백엔드에 설정한 모든 값이 수신되어 Remote Config 객체에 캐시됩니다. - 가져온 매개변수 값을 앱에 적용하려면
ActivateFetched()
메서드를 호출합니다.
7단계: 실시간 업데이트 리슨
매개변수 값을 가져온 후 실시간 Remote Config를 사용하여 Remote Config 백엔드의 업데이트를 리슨할 수 있습니다. 실시간 Remote Config는 사용 가능한 업데이트가 있을 때 연결된 기기에 신호를 보냅니다. 새 Remote Config를 게시한 후 자동으로 변경사항을 가져옵니다. 있습니다.
실시간 업데이트는 Firebase C++ SDK에서 지원합니다. Android 및 Apple 플랫폼의 경우 v11.0.0 이상입니다.
- 앱에서
AddOnConfigUpdateListener
를 호출하여 업데이트 리슨을 시작하고 새로운 또는 업데이트된 매개변수 값을 자동으로 가져옵니다. 다음 예시는 업데이트를 리슨하고Activate
가 호출되면 새로 가져온 값을 사용하여 업데이트된 환영 메시지를 표시합니다.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
다음에 Remote Config의 새 버전을 게시하면 기기에서 변경사항을 수신 대기하는 애플리케이션은 업데이트 리스너입니다.
다음 단계
아직 살펴보지 않았다면 Remote Config에서 살펴보세요. 사용 사례를 살펴보고 주요 개념 및 고급 전략 문서: