firebase remote config로 배포없이 운영하기

28
Firebase Remote Config 로 로로로로 로 로로로로 드드드드드드드 로로로 드드드드드 드드드 드드드 2017.03.25 Droid Knights 2017

Upload: -

Post on 05-Apr-2017

836 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Firebase Remote Config로 배포없이 운영하기

Firebase Remote Config 로 배포없이 앱운영하기드라마앤컴퍼니 리멤버 안드로이드 개발자 이승민

2017.03.25

Droid Knights 2017

Page 2: Firebase Remote Config로 배포없이 운영하기

…라이브 서비스는

라이브로 돌아가는 서비스는 운영 이슈가 항상 존재한다 .

Page 3: Firebase Remote Config로 배포없이 운영하기

…운영 이슈란

사용자의 요구를 최대한 실시간 으로 대응하여 불편함을 줄이고 만족도를 늘리는 것

Page 4: Firebase Remote Config로 배포없이 운영하기

…운영 이슈의 예시로는

좁게 보면- Customer Service- 공지사항

넓게 보면- 장애 모니터링 및 발견 시 대응- 사용자 피드백 수집 후 서비스 개선

Page 5: Firebase Remote Config로 배포없이 운영하기

…운영팀이 중요하게 생각하는 것은

최대한 실시간에 가까운 것이 매우 중요하다 !

Page 6: Firebase Remote Config로 배포없이 운영하기

…하지만 앱은

실시간으로 대응하기에는 배포가 무겁다 .

개발리뷰CI 테스트QA 테스트

스토어 업로드1 시간 내외 대기

Page 7: Firebase Remote Config로 배포없이 운영하기

…운영팀이 원하는 것은

서비스의 동작을 바꿀 수는 없을까 ?

- 개발자를 통하지 않고- 코드를 변경하지 않고- 추가적으로 배포하지 않고- 특정 사용자만

Page 8: Firebase Remote Config로 배포없이 운영하기

… 해답은 Firebase Remote Config

Page 9: Firebase Remote Config로 배포없이 운영하기

Remote Config …란

‘ 사용자가 앱 업데이트를 다운로드할 필요 없이 앱의 동작과 모양을 변경할 수 있는 클라우드 서비스입니다 .’

출처 : Firebase Remote Config 공식 문서

Page 10: Firebase Remote Config로 배포없이 운영하기

…사용 시나리오는

1.Firebase 에 앱의 동작을 제어하는 값을 정의한다 .2. 앱에서 Firebase 에 정의된 값을 가져와 적용한다 .3. 배포 없이 업데이트 된 새로운 동작을 확인한다 .

2,3 번을 할 수 있도록 한번 구축 해 놓으면운영팀에서 1 번의 작업을 통해 배포 없이 자동으로 앱 업데이트가 가능하다 .

Page 11: Firebase Remote Config로 배포없이 운영하기

실습타임 !

1.Firebase 설치2.Remote Config 설치3. 구글 플레이 서비스 설치 체크4.Remote Config Admin 살펴보기5.Remote Config 초기화6. 값 받아오기7.xml 로 로컬 기본 값 설정하기8. 변경된 값 실시간으로 받아오기9. 사용자 조건에 따라 값 가져오기10.Test, Product 모드 구분하기11.응용하여 받아오기12.예외상황 처리하기

Page 12: Firebase Remote Config로 배포없이 운영하기

1. Firebase 설치 - project cradle

Page 13: Firebase Remote Config로 배포없이 운영하기

1. Firebase 설치 - app module gradle

Page 14: Firebase Remote Config로 배포없이 운영하기

1. Firebase 설치 - google-services.json

다운로드 후 project level 에 위치

Page 15: Firebase Remote Config로 배포없이 운영하기

2. Remote Config 설치

Page 16: Firebase Remote Config로 배포없이 운영하기

3. 구글 플레이 서비스 설치 체크

Page 17: Firebase Remote Config로 배포없이 운영하기

4.5.6.7.8.9.10.11…

실제 코드를 보면서 알아봅시다 .

4. Remote Config Admin 살펴보기5. Remote Config 초기화6. 값 받아오기7. xml 로 로컬 기본 값 설정하기8. 변경된 값 실시간으로 받아오기9. 사용자 조건에 따라 값 가져오기10. Test, Product 모드 구분하기11. 응용하여 받아오기

Page 18: Firebase Remote Config로 배포없이 운영하기

12. 예외상황 처리하기

java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.

Application onCreate() 에 다음과 같은 수동 Firebase initialize() 를 호출하면 해결된다 .

Application 을 Extends 할 경우 멀티 프로세스 문제로Firebase 가 위와 같은 에러를 내뱉는 경우가 있다 .

Page 19: Firebase Remote Config로 배포없이 운영하기

리멤버에서는 Remote Config …를 이렇게 사용1. 메인 공지사항 팝업 이미지 , Action

Page 20: Firebase Remote Config로 배포없이 운영하기

리멤버에서는 Remote Config …를 이렇게 사용2. Drawer 추천유도 텍스트

Page 21: Firebase Remote Config로 배포없이 운영하기

리멤버에서는 Remote Config …를 이렇게 사용3. 촬영 후 추천유도 텍스트 , 이미지 , Action

Page 22: Firebase Remote Config로 배포없이 운영하기

리멤버에서는 Remote Config …를 이렇게 사용4. Floating Action Button 가이드 이미지 , Action

Page 23: Firebase Remote Config로 배포없이 운영하기

리멤버에서는 Remote Config …를 이렇게 사용5. 촬영 후 대기명함 가이드 텍스트

Page 24: Firebase Remote Config로 배포없이 운영하기

…장점은

사실 이런 실시간 운영변수 변경 시스템은 왠만한 서비스라면 자체 구축한다 .( 우리도 Remote Config 가 나오기 전에는 자체적으로 구축하여 사용하였다 .)

하지만 Remote Config 를 사용하면 매우 쉽게비개발자가 접근하기 쉬운 어드민까지 구성할 수 있다 .

그리고값을 단순히 변경하는 것 뿐만 아니라 대상을 선택하여 배포할 수 있다 .

Page 25: Firebase Remote Config로 배포없이 운영하기

…단점은

별로 없지만 굳이 뽑자면…Test 와 Production 의 경계가 모호하다 .

Page 26: Firebase Remote Config로 배포없이 운영하기

정리하면 ...

‘ 서비스에게 있어 매우 중요하면서도 ,Firebase 기능들 중 가장 쉽고 빠르게 적용할 수 있는가성비 좋은 기능이다 .’

Remote Config 와 함께 운영팀의 걱정을 덜어주세요 !

Page 27: Firebase Remote Config로 배포없이 운영하기

광고

리멤버에서 구인합니다 !

안드로이드iOS

웹 클라이언트홈페이지 : http://dramancompany.com/joinus/기술 블로그 : http://blog.dramancompany.com/

Page 28: Firebase Remote Config로 배포없이 운영하기

Droid Knights 2017

감사합니다발표자료 : https://www.slideshare.net/SeungminLee13코드 : https://github.com/rfrost77/DroidKnights-RemoteConfig