Firebase 원격 구성을 사용하여 앱에서 매개변수를 정의하고 클라우드에서 해당 값을 업데이트할 수 있으므로 앱 업데이트를 배포하지 않고도 앱의 모양과 동작을 수정할 수 있습니다. 이 가이드는 시작하는 단계를 안내하고 몇 가지 샘플 코드를 제공합니다.
1단계: 앱에 Firebase 및 원격 구성 SDK 추가
아직 수행하지 않은 경우 Flutter용 Firebase SDK를 설치하고 초기화합니다 .
원격 구성의 경우 사용자 속성 및 잠재고객 에 대한 앱 인스턴스의 조건부 타겟팅에 Google 애널리틱스가 필요합니다. 프로젝트에서 Google Analytics를 활성화 했는지 확인하십시오.
Flutter 프로젝트의 루트 디렉터리에서 다음 명령을 실행하여 원격 구성 플러그인을 설치합니다.
flutter pub add firebase_remote_config
또한 원격 구성을 설정하는 과정에서 Google 애널리틱스용 Firebase SDK를 앱에 추가해야 합니다.
flutter pub add firebase_analytics
프로젝트를 다시 빌드합니다.
flutter run
2단계: 원격 구성 싱글톤 객체 가져오기
원격 구성 개체 인스턴스를 가져오고 자주 새로고침할 수 있도록 최소 가져오기 간격을 설정합니다.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
싱글톤 객체는 인앱 기본 매개변수 값을 저장하고, 백엔드에서 업데이트된 매개변수 값을 가져오고, 가져온 값을 앱에서 사용할 수 있는 시기를 제어하는 데 사용됩니다.
개발 중에는 최소 가져오기 간격을 상대적으로 낮게 설정하는 것이 좋습니다. 자세한 내용은 스로틀링 을 참조하십시오.
3단계: 인앱 기본 매개변수 값 설정
앱이 원격 구성 백엔드에 연결되기 전에 의도한 대로 작동하고 백엔드에 아무것도 설정되지 않은 경우 기본값을 사용할 수 있도록 원격 구성 개체에서 인앱 기본 매개변수 값을 설정할 수 있습니다.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
4단계: 앱에서 사용할 매개변수 값 가져오기
이제 원격 구성 개체에서 매개변수 값을 가져올 수 있습니다. 백엔드에서 값을 설정하고 가져온 다음 활성화하면 해당 값을 앱에서 사용할 수 있습니다. 그렇지 않으면 setDefaults()
를 사용하여 구성된 인앱 매개변수 값을 가져옵니다.
이러한 값을 얻으려면 매개변수 키를 인수로 제공하여 앱에서 예상하는 데이터 유형에 매핑되는 아래 나열된 메소드를 호출하십시오.
-
getBool()
-
getDouble()
-
getInt()
-
getString()
5단계: 원격 구성 백엔드에서 매개변수 값 설정
Firebase 콘솔 또는 원격 구성 백엔드 API 를 사용하여 원하는 조건부 논리 또는 사용자 타겟팅에 따라 인앱 값을 재정의하는 새 서버 측 기본값을 만들 수 있습니다. 이 섹션에서는 이러한 값을 생성하는 Firebase 콘솔 단계를 설명합니다.
- Firebase 콘솔 에서 프로젝트를 엽니다.
- 원격 구성 대시보드를 보려면 메뉴에서 원격 구성 을 선택합니다.
- 앱에서 정의한 매개변수와 이름이 같은 매개변수를 정의합니다. 각 매개변수에 대해 기본값(결국 해당 인앱 기본값을 재정의함)을 설정할 수 있으며 조건부 값도 설정할 수 있습니다. 자세한 내용은 원격 구성 매개변수 및 조건 을 참조하십시오.
6단계: 값 가져오기 및 활성화
원격 구성 백엔드에서 매개변수 값을 가져
fetch()
메서드를 호출하세요. 백엔드에서 설정한 모든 값을 가져와서 원격 구성 객체에 저장합니다.가져온 매개변수 값을 앱에서 사용할 수 있도록 하려면
activate()
메서드를 호출하세요.한 번의 호출로 값을 가져오고 활성화하려는 경우에는
fetchAndActivate()
요청을 사용하여 원격 구성 백엔드에서 값을 가져와 앱에서 사용할 수 있도록 할 수 있습니다.await remoteConfig.fetchAndActivate();
이러한 업데이트된 매개변수 값은 앱의 동작과 모양에 영향을 미치기 때문에 다음에 사용자가 앱을 열 때와 같이 사용자에게 원활한 경험을 제공할 수 있는 시간에 가져온 값을 활성화해야 합니다. 자세한 내용과 예시는 원격 구성 로딩 전략 을 참조하세요.
쓰로틀링
앱이 단기간에 너무 많이 가져오면 가져오기 호출이 제한되고 FirebaseRemoteConfig
의 lastFetchStatus
속성 값은 RemoteConfigFetchStatus.throttle
이 됩니다.
원격 구성의 기본 최소 가져오기 간격은 12시간입니다. 즉, 실제로 수행된 가져오기 호출 수에 관계없이 12시간 창에서 두 번 이상 백엔드에서 구성을 가져오지 않습니다.
앱을 개발하는 동안 앱을 개발하고 테스트하면서 빠르게 반복할 수 있도록 구성을 매우 자주(시간당 여러 번) 가져오고 활성화할 수 있습니다. 최대 10명의 개발자가 있는 프로젝트에서 빠른 반복을 수용하기 위해 setConfigSettings()
를 사용하여 임시로 최소 가져오기 간격을 낮게 설정할 수 있습니다.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
다음 단계
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: