Firebase 원격 구성 시작하기


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를 추가한 후:

  1. Firebase 앱을 만들고 JNI 환경 및 액티비티를 전달합니다.

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. 다음과 같이 Remote Config 라이브러리를 초기화합니다.

    ::firebase::remote_config::Initialize(app);

iOS+

앱에 Firebase를 추가한 후:

  1. Firebase 앱을 만듭니다.

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. 다음과 같이 Remote Config 라이브러리를 초기화합니다.

    ::firebase::remote_config::Initialize(app);

3단계: 인앱 매개변수 기본값 설정

Remote Config에서 인앱 매개변수 기본값을 설정할 수 있습니다. 객체에 연결되기 전에 앱이 의도한 대로 동작하도록 Remote Config 백엔드에 있어야 하므로 아무것도 없는 경우 기본값을 사용할 수 있습니다. 설정할 수 있습니다

  1. std::map<const char*, const char*> 객체 또는 std::map<const char*, firebase::Variant> 객체를 사용하여 매개변수 이름과 매개변수 기본값 집합을 정의합니다.

    백엔드 매개변수 Remote Config개를 이미 구성한 경우 이러한 키-값 쌍이 포함된 파일을 다운로드하여 이를 사용하여 map 객체를 구성합니다. 자세한 내용은 다운로드 Remote Config 템플릿 기본값

  2. 다음 값을 사용하여 이러한 값을 Remote Config 객체에 추가합니다. SetDefaults()

4단계: 앱에서 사용할 매개변수 값 가져오기

이제 Remote Config 객체에서 매개변수 값을 가져올 수 있습니다. 만약 값을 Remote Config 백엔드에서 가져와서 가져와서 활성화했습니다. 값을 모두 사용할 수 있습니다. 그렇지 않으면 in-app 매개변수를 가져옵니다. 값을 SetDefaults()

이러한 값을 가져오려면 매개변수 키를 인수로 전달하여 앱의 예상 데이터 유형에 매핑하는 아래의 메서드를 호출합니다.

5단계: 매개변수 값 설정

  1. Firebase 콘솔에서 프로젝트를 엽니다.
  2. 메뉴에서 Remote Config를 선택하여 Remote Config 대시보드를 표시합니다.
  3. 앱에 정의한 매개변수와 같은 이름으로 매개변수를 정의합니다. 각 매개변수에 기본값 및 조건부 값을 설정할 수 있으며, 기본값은 이후에 인앱 기본값을 재정의합니다. 자세한 내용은 Remote Config 매개변수 및 조건을 참고하세요.

6단계: 값 가져오기 및 활성화

  1. Remote Config 백엔드에서 매개변수 값을 가져오려면 다음을 호출합니다. Fetch() 메서드를 사용하여 축소하도록 요청합니다. 백엔드에 설정한 모든 값이 수신되어 Remote Config 객체에 캐시됩니다.
  2. 가져온 매개변수 값을 앱에 적용하려면 ActivateFetched() 메서드를 호출합니다.

7단계: 실시간 업데이트 리슨

매개변수 값을 가져온 후 실시간 Remote Config를 사용하여 Remote Config 백엔드의 업데이트를 리슨할 수 있습니다. 실시간 Remote Config는 사용 가능한 업데이트가 있을 때 연결된 기기에 신호를 보냅니다. 새 Remote Config를 게시한 후 자동으로 변경사항을 가져옵니다. 있습니다.

실시간 업데이트는 Firebase C++ SDK에서 지원합니다. Android 및 Apple 플랫폼의 경우 v11.0.0 이상입니다.

  1. 앱에서 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에서 살펴보세요. 사용 사례를 살펴보고 주요 개념 및 고급 전략 문서: