콘솔로 이동

Android에서 Firebase 원격 구성 사용

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

  1. 앱에 Firebase를 추가합니다.
  2. 원격 구성 싱글톤 개체를 가져옵니다.
  3. 인앱 매개변수 기본값을 설정합니다.
  4. 앱에서 사용할 매개변수 값을 가져옵니다.
  5. 필요한 경우 원격 구성 서비스에 매개변수 값을 설정합니다.
  6. 필요한 경우 원격 구성 서비스에서 값을 가져와서 활성화합니다.

앱에 Firebase 추가

  1. 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다.

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

  3. 원격 구성 Android 라이브러리의 종속 항목을 모듈(앱 수준)의 Gradle 파일(일반적으로 app/build.gradle)에 추가합니다.

    implementation 'com.google.firebase:firebase-config:17.0.0'
    

원격 구성 싱글톤 객체 가져오기

원격 구성 빠른 시작 샘플 앱의 예와 같이 FirebaseRemoteConfig.getInstance() 메소드를 사용하여 싱글톤 원격 구성 객체를 가져옵니다.

이 싱글톤 객체를 사용하여 인앱 매개변수 기본값을 저장하고 업데이트된 매개변수 값을 서비스에서 가져오며 가져온 값을 앱에 제공할 시점을 제어합니다. 자세한 내용은 Firebase Remote Config API 개요를 참조하세요.

인앱 매개변수 기본값 설정

원격 구성 개체에 인앱 매개변수 기본값을 설정해야 앱이 원격 구성 서비스에서 값을 가져오기 전의 앱 동작을 의도대로 설정할 수 있습니다.

  1. Map 객체나 앱의 res/xml 폴더에 저장된 XML 리소스 파일을 사용하여 매개변수 이름과 기본값 집합을 정의합니다. 원격 구성 빠른 시작 샘플 앱은 XML 파일을 사용하여 매개변수 이름과 기본값을 정의합니다.
  2. 원격 구성 빠른 시작 샘플 앱의 예와 같이 setDefaultsAsync(int)를 사용하여 원격 구성 객체에 이 값을 추가합니다.

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

이제 원격 구성 개체에서 매개변수 값을 가져올 수 있습니다. 원격 구성 서비스에 값을 설정하고 값을 가져와서 활성화하면 이 값이 앱에 적용됩니다. 그렇지 않으면 setDefaultsAsync(int)를 사용하여 인앱 매개변수 값을 구성합니다. 이러한 값을 가져오려면 매개변수 키를 인수로 전달하여 앱의 예상 데이터 유형에 매핑하는 아래의 메소드를 호출합니다.

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

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

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

  1. 원격 구성 서비스에서 매개변수 값을 가져오려면 fetch() 메소드를 호출합니다. 원격 구성 서비스에 설정한 모든 값을 가져와 원격 구성 객체에 저장합니다.
  2. 가져온 매개변수 값을 앱에서 사용하려면 activate() 메소드를 호출합니다.

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

다음 단계

원격 구성 빠른 시작 샘플 앱을 자세히 살펴보려면 Firebase 원격 구성 Android 샘플 앱 둘러보기를 참조하세요.

앱에서 원격 구성을 사용하는 자세한 방법은 원격 구성에 대해 자주 묻는 질문(FAQ)에서 매개변수 값 가져오기 및 활성화, 개발자 모드 및 성능 제한, 가져오기 타이밍을 참조하세요.