Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Firebase 원격 구성 시작하기


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

원격 구성 라이브러리는 인앱 기본 매개변수 값을 저장하고, 원격 구성 백엔드에서 업데이트된 매개변수 값을 가져오고, 가져온 값을 앱에서 사용할 수 있는 시기를 제어하는 ​​데 사용됩니다. 자세히 알아보려면 원격 구성 로드 전략 을 참조하세요.

이 가이드는 시작 단계를 안내하고 몇 가지 샘플 코드를 제공합니다. 모두 firebase/quickstart-unity GitHub 저장소에서 복제하거나 다운로드할 수 있습니다.

1단계: 앱에 원격 구성 추가

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

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

    • Unity 프로젝트에서 이미 Firebase를 사용하고 있다면 이미 Firebase용으로 등록 및 구성된 것입니다.

    • Unity 프로젝트가 없는 경우 샘플 앱 을 다운로드할 수 있습니다.

  • Unity 프로젝트에 Firebase Unity SDK (특히 FirebaseRemoteConfig.unitypackage )를 추가합니다.

Unity 프로젝트에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 Unity 프로젝트 모두에서 작업이 필요합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 Unity 프로젝트로 이동).

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

앱이 원격 구성 백엔드에 연결되기 전에 의도한 대로 작동하고 백엔드에 아무것도 설정되지 않은 경우 기본값을 사용할 수 있도록 원격 구성 개체에서 인앱 기본 매개변수 값을 설정할 수 있습니다.

이렇게 하려면 문자열 사전을 만들고 추가하려는 기본값을 나타내는 키/값 쌍으로 채웁니다. 원격 구성 백엔드 매개변수 값을 이미 구성한 경우 이러한 키/값 쌍이 포함된 파일을 다운로드하고 이를 사용하여 문자열 사전을 구성할 수 있습니다. 자세한 내용은 원격 구성 템플릿 기본값 다운로드 를 참조하세요.

(비문자열 속성은 SetDefaultsAsync() 가 호출될 때 속성의 유형으로 변환됩니다.)

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

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

이제 원격 구성 개체에서 매개변수 값을 가져올 수 있습니다. 원격 구성 백엔드에서 값을 설정하고 가져온 다음 활성화하면 해당 값을 앱에서 사용할 수 있습니다. 그렇지 않으면 SetDefaultsAsync() 를 사용하여 구성된 인앱 매개변수 값을 가져옵니다.

이러한 값을 얻으려면 매개 변수 키를 인수로 제공하여 GetValue() 를 사용하십시오. 이는 값을 다양한 기본 유형으로 변환하는 속성이 있는 ConfigValue 를 반환합니다.

4단계: Firebase 콘솔에서 앱 연결

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

5단계: 매개변수 값 설정

  1. Firebase 콘솔 에서 프로젝트를 엽니다.
  2. 원격 구성 대시보드를 보려면 메뉴에서 원격 구성 을 선택합니다.
  3. 앱에서 정의한 매개변수와 이름이 같은 매개변수를 정의합니다. 각 매개변수에 대해 기본값(결국 인앱 기본값을 재정의함) 및 조건부 값을 설정할 수 있습니다. 자세히 알아보려면 원격 구성 매개변수 및 조건 을 참조하세요.

6단계: 값 가져오기 및 활성화(필요한 경우)

원격 구성 백엔드에서 매개변수 값을 가져오려면 FetchAsync() 메서드를 호출하세요. 백엔드에서 설정한 모든 값은 원격 구성 개체에서 가져와 캐시됩니다.

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

FetchAsync() 를 통해 가져온 값은 가져오기가 완료되면 로컬로 캐시되지만 ActivateFetched() 가 호출될 때까지 사용할 수 없습니다. FetchAsync() 는 비동기식으로 실행되므로 이를 통해 새 값이 계산 중간에 적용되지 않도록 하거나 문제나 이상한 동작을 유발할 수 있는 다른 시간에 적용되지 않도록 할 수 있습니다.

7단계: (선택 사항) 개발자 모드 활성화

개발 중에 제한을 비활성화하는 데 사용할 수 있는 개발자 모드를 활성화하려면 FirebaseRemoteConfig.Setting 속성을 사용하여 IsDeveloperMode 가 true로 설정된 새 ConfigSettings 를 설정할 수 있습니다.

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: