본문 바로가기
Programming/Flutter

[Flutter] Firebase remote config 적용하기

by SpiralMoon 2020. 2. 28.
반응형

Firebase remote config 적용하기

Flutter 앱에 파이어베이스 원격 구성을 적용해보자


선행 작업

이 글은 파이어베이스 프로젝트가 생성되있어야 하고 파이어베이스 프로젝트에 Android, iOS가 등록된 이후의 작업을 다루므로, 앞의 작업을 완료하지 않았다면 아래 링크에서 먼저 모든 작업을 완료해야한다.

 

1. 파이어베이스 프로젝트 생성

 

[Firebase] Firebase 프로젝트 생성하기

Firebase 프로젝트 생성하기 Google Firebase 프로젝트를 생성해보자. Google Firebase Console 접속 파이어베이스 서비스를 이용하기 위해서는 구글 파이어베이스 콘솔에 접속해야한다. https://console.firebase..

spiralmoon.tistory.com

2. 파이어베이스 프로젝트에 Android, iOS 등록

 

[Firebase] Firebase 프로젝트에 Android, iOS 연결하기

Firebase 프로젝트에 Android, iOS 연결하기 파이어베이스에 안드로이드, iOS 앱 프로젝트를 등록하고 의존성을 관리해보자. 선행 작업 이 글은 파이어베이스 프로젝트 생성 절차를 마친 이후의 작업을 다루므로..

spiralmoon.tistory.com


작업 순서

1. 패키지 설치

2. 소스코드 구현

3. 원격 구성 데이터를 등록하고 앱에서 받기

4. 원격 구성 데이터를 JSON으로 등록하기

5. 조건별 원격 구성 데이터


패키지 설치

// pubspec.yaml

dependencies:
  ...
  firebase_remote_config: ^0.3.0+1

 

firebase_remote_config 패키지를 추가한다. 이외에 필요한 설정은 없어서 좋다.


소스코드 구현

  final RemoteConfig remoteConfig = await RemoteConfig.instance;

  remoteConfig.setDefaults({"hello": "default hello"});
  remoteConfig.fetch(expiration: Duration(minutes: 1));
  remoteConfig.activateFetched();

  String hello = remoteConfig.getString("hello");

  print(hello);

 

원격 구성 기능은 RemoteConfig 클래스를 통해서 사용할 수 있다.

RemoteConfig 클래스를 이용하면 관리자가 파이어베이스에 설정한 값을 앱에서 받아볼 수 있다.

 

위 소스코드는 마지막으로 파이어베이스에서 데이터를 받아온지 1분이 지났다면 파이어베이스에서 key가 "hello"인 문자열 데이터를 받아오는 작업을 하는데 만약,

  • 마지막 업데이트 시점부터 1분이 지나지 않았거나
  • 데이터를 받아오지 못했거나
  • 파이어베이스에 데이터가 없는 경우

대신 사용할 기본데이터로 "default hello"를 설정하였다.

 

이 상태에서 파이어베이스에 "hello"를 설정하지 않은 채로 코드를 실행하면

 

기본데이터로 설정했었던 "default hello"가 출력된다.


원격 구성 데이터를 등록하고 앱에서 받기

웹 파이어베이스 프로젝트 페이지의 Remote Config 탭으로 들어간다. 여기서 원격 구성 데이터를 설정하면 사용자에게 변경된 값이 전달되는 것이다.

 

key와 데이터를 입력한다. 나는 앱에서 "hello" 라는 key를 이용해 데이터를 받아볼 것이기 때문에 위처럼 설정했다.

"매개변수 추가" 버튼을 클릭

 

버튼을 눌렀다면 위 사진처럼 변경된 페이지가 표시된다. 이 페이지에서는 변경사항을 적용하거나 취소할 수 있다. (모두 삭제 버튼이 변경사항 취소 기능)

데이터를 알맞게 구성했다면 "변경사항 게시" 버튼 클릭

 

사용자에게 즉시 적용된다고 친절하게 경고까지 해준다.

 

그럼 key가 "hello"인 데이터를 생성했으니 이전 항목에서 실행했던 소스코드를 다시 빌드해보자.

default hello로 출력되던 데이터가 새로 설정한 configured hello로 변경되서 출력되었다!

 

이처럼 파이어베이스 원격 구성을 사용하면 라이브 상황에서 앱에 변경사항이 생겼을 때 재배포를 하지 않고 빠른 시간 내에 데이터를 변경할 수 있다.


원격 구성 데이터를 JSON으로 등록하기

데이터를 number, string, boolean 형태로 저장할 수 있는데 사진의 { } 버튼을 누르면 json 형식으로도 저장할 수 있다.

JSON editor

이렇게 json editor가 표시된다.


조건별 원격 구성 데이터

원격 구성 기능은 모든 유저를 대상으로 데이터를 반영하는 것이 기본이지만, 조건에 해당하는 유저에게만 데이터가 반영되도록 할 수도 있다.

이 기능을 사용하면 A/B 테스트를 진행할 때 매우 유용하다!

 

"조건 값 추가"를 누른다.

 

한국 유저에게만 해당하는 조건을 만들어보자. 조건의 이름을 korean으로 짓고 적용 조건을 선택한다.

 

Firebase remote config에서 지원하는 조건 목록

앱 종류, 앱 버전, 플랫폼 종류, 기기 언어, 기기 국가정보, 사용자 그룹, 시간 등의 조건을 제공해주고 있다. 조건은 중복으로도 선택 가능하다.

 

조건 종류를 국가/지역으로 선택하고 국가 목록에서 대한민국을 선택한다.

 

값을 채워주고 "매개변수 추가" 버튼 클릭

 

이제 key가 "data"인 데이터는 조건이 korean인 유저에게만 적용될 것이다.


관련 문서

 

Firebase 원격 구성

앱 업데이트를 게시하지 않아도 하루 활성 사용자 수 제한 없이 무료로 앱의 동작과 모양을 변경할 수 있습니다.

firebase.google.com

 

firebase_remote_config | Flutter Package

Flutter plugin for Firebase Remote Config. Update your application look and feel and behaviour without re-releasing.

pub.dev

 

반응형

댓글