콘솔로 이동

C++로 Firebase 원격 구성 사용

Firebase 원격 구성으로 클라우드에서 앱의 매개변수를 정의하고 업데이트하면 앱 업데이트를 배포하지 않고도 앱의 모양과 동작을 수정할 수 있습니다.

원격 구성 라이브러리를 사용하여 인앱 매개변수 기본값을 저장하고, 업데이트된 매개변수 값을 서비스에서 가져오고, 가져온 값을 앱에 적용할 시점을 제어합니다. 자세한 내용은 Remote Config API 개요를 참조하세요.

앱에 Firebase 추가

원격 구성을 사용하려면 먼저 다음 작업을 해야 합니다.

  • C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.

    C++ 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 것입니다.

  • 프로젝트 수준 build.gradle 파일의 buildscriptallprojects 섹션에 Google의 Maven 저장소가 포함되어야 합니다.

  • C++ 프로젝트에 Firebase C++ SDK를 추가합니다.

C++ 프로젝트에 Firebase를 추가할 때 Firebase 콘솔 및 열려 있는 C++ 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 콘솔에서 Firebase 구성 파일을 다운로드한 후 이 파일을 C++ 프로젝트로 옮기는 작업이 필요합니다.

앱에 원격 구성 추가

Android

앱에 Firebase를 추가한 후:

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

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

  2. 다음과 같이 원격 구성 라이브러리를 초기화합니다.

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

iOS

앱에 Firebase를 추가한 후:

  1. Firebase 앱을 만듭니다.

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

  2. 다음과 같이 원격 구성 라이브러리를 초기화합니다.

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

인앱 매개변수 기본값 설정

원격 구성 객체에 인앱 매개변수 기본값을 설정하면, 앱이 원격 구성 서비스에 연결되기 전이나 서비스에 설정된 매개변수 기본값이 없을 때의 앱 동작을 의도하는 대로 설정할 수 있습니다.

  1. std::map<const char*, const char*> 객체 또는 std::map<const char*, firebase::Variant> 객체를 사용하여 매개변수 이름과 기본값 집합을 정의합니다.
  2. SetDefaults()를 사용하여 이러한 값을 원격 구성 객체에 추가합니다.

앱에서 사용할 매개변수 값 가져오기

이제 원격 구성 객체에서 매개변수 값을 가져올 수 있습니다. 원격 구성 서비스에 값을 설정하고 값을 가져와서 활성화하면 이 값이 앱에 적용됩니다. 그렇지 않으면 SetDefaults()를 사용하여 구성한 인앱 매개변수 값을 가져오게 됩니다.

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

Firebase 콘솔에서 앱 연결

Firebase 콘솔에서 Firebase 프로젝트에 앱을 추가합니다.

서비스에서 매개변수 값 설정(필요한 경우)

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

서비스에서 값을 가져와서 활성화(필요한 경우)

  1. 원격 구성 서비스에서 매개변수 값을 가져오려면 Fetch() 메소드를 호출합니다. 원격 구성 서비스에 설정한 모든 값이 수신되어 원격 구성 객체에 캐시됩니다.
  2. 가져온 매개변수 값을 앱에 적용하려면 ActivateFetched() 메소드를 호출합니다.

이러한 업데이트된 매개변수 값은 앱의 동작과 모양에 영향을 주므로 사용자 경험에 방해가 되지 않을 만한 시점, 예를 들어 사용자가 다음 번에 앱을 열 때 등과 같은 상황에서 가져온 값을 활성화하는 것이 좋습니다.