Post on 11-Apr-2017
transcript
Firebase를����������� ������������������ 이용한����������� ������������������ Android����������� ������������������ Application����������� ������������������ 만들기
신휴창
huttchang@gmail.com
신휴창
huttchang@gmail.com
http://blog.hutt.co.kr
https://github.com/hyuchang
목차
Firebase란?
Firebase����������� ������������������ 사용����������� ������������������ 후기
Firebase����������� ������������������ App����������� ������������������ 간단한����������� ������������������ 앱����������� ������������������ 만들기����������� ������������������
Firebase란
- 간편하고����������� ������������������ 간결한����������� ������������������ Backend����������� ������������������ As����������� ������������������ a����������� ������������������ Service!
- 편하게����������� ������������������ 이용할����������� ������������������ 수도����������� ������������������ 있는데다가����������� ������������������ Realtime!
- Android,����������� ������������������ Web,����������� ������������������ IOS����������� ������������������ 개발을����������� ������������������ 위한����������� ������������������ 통합����������� ������������������ 플랫폼으로����������� ������������������ 성장중
기획/설계 서버����������� ������������������ 구성����������� ������������������ 및����������� ������������������ 서버����������� ������������������ 개발프론트����������� ������������������ 엔드����������� ������������������ 개
발테스트����������� ������������������ 디버그����������� ������������������ ����������� ������������������ 및����������� ������������������ 릴리즈
서버����������� ������������������ 아키텍쳐����������� ������������������ 설계,����������� ������������������ 보안,����������� ������������������ 인증,����������� ������������������ DB설계,����������� ������������������ API설계����������� ������������������ ..등등등
a~z����������� ������������������ 까지����������� ������������������ 모든����������� ������������������ 서버의����������� ������������������ 설계����������� ������������������ 및����������� ������������������ 기능����������� ������������������ 구현을����������� ������������������ 다����������� ������������������ 해야함
전통방식의 서비스 아키텍쳐
서버����������� ������������������ 구성����������� ������������������ 및����������� ������������������ 개발에����������� ������������������ 많은����������� ������������������ 리소스가����������� ������������������ 투입됨
기획/설계 프론트����������� ������������������ 엔드����������� ������������������ 개발테스트����������� ������������������ 디버그����������� ������������������ ����������� ������������������ 및����������� ������������������ 릴리즈
Firebase도입����������� ������������������ 후����������� ������������������ 아키텍쳐����������� ������������������
프론트����������� ������������������ 엔드에����������� ������������������ 저����������� ������������������ 집중하여����������� ������������������ 개발����������� ������������������ 할����������� ������������������ 수����������� ������������������ 있음.
과연����������� ������������������ 만능인가?
아직은…⋯
Firebase의����������� ������������������ 한계
한정된����������� ������������������ API만을����������� ������������������ 이용해서는����������� ������������������ 더욱����������� ������������������ 복잡해지는����������� ������������������ ����������� ������������������ 사용자의����������� ������������������ 요구����������� ������������������ 사항을����������� ������������������ 충족����������� ������������������ 하긴����������� ������������������ 무리가����������� ������������������ 따른다.����������� ������������������
ex)이미����������� ������������������ 구축되어����������� ������������������ 있는����������� ������������������ 다른����������� ������������������ 시스템과의����������� ������������������ 연계
ex)����������� ������������������ 복잡한����������� ������������������ 로직이����������� ������������������ 들어����������� ������������������ 가는����������� ������������������ 시스템����������� ������������������ 개발����������� ������������������ 시
ex)����������� ������������������ 그����������� ������������������ 외에����������� ������������������ 여러����������� ������������������ 제약이����������� ������������������ 따르는����������� ������������������ 작업����������� ������������������ 시����������� ������������������
저의����������� ������������������ 생각
저는����������� ������������������ 백엔드����������� ������������������ 개발을����������� ������������������ 주로����������� ������������������ 담당합니다.
위기감을����������� ������������������ 느낄����������� ������������������ 수����������� ������������������ 있겠다����������� ������������������ 라는����������� ������������������ 초반����������� ������������������ 생각과����������� ������������������ 다르게����������� ������������������ ����������� ������������������ 사용����������� ������������������ 해보니����������� ������������������ 분명����������� ������������������ 한계는����������� ������������������ 있었습니다.����������� ������������������
Firebase와����������� ������������������ 서버개발자가����������� ������������������ 겹치는����������� ������������������ 부분은����������� ������������������ 있으나,����������� ������������������ ����������� ������������������ 역할은����������� ������������������ 명확히����������� ������������������ 다르다.����������� ������������������
Firebase의����������� ������������������ 특징을����������� ������������������ 살릴����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 부분은����������� ������������������ ����������� ������������������ Firebase를����������� ������������������ 일부����������� ������������������ 이용하며����������� ������������������ 최고의����������� ������������������ 조합을����������� ������������������ 만들자!����������� ������������������
Android����������� ������������������ Application����������� ������������������ 제작
Firebase을����������� ������������������ 활용한����������� ������������������ 간단한����������� ������������������ Android����������� ������������������ Application����������� ������������������ 제작
실시간����������� ������������������ SNS����������� ������������������ App
이번에����������� ������������������ 사용될����������� ������������������ API
1.����������� ������������������ Firebase����������� ������������������ 환경����������� ������������������ 설정
https://firebase.google.com
1.����������� ������������������ Firebase����������� ������������������ 환경����������� ������������������ 설정
Firebase����������� ������������������ 프로젝트����������� ������������������ 생성����������� ������������������
1.����������� ������������������ Firebase����������� ������������������ 환경����������� ������������������ 설정
Firebase����������� ������������������ Console����������� ������������������ 진입����������� ������������������ (Android앱����������� ������������������ 추가����������� ������������������ 버튼����������� ������������������ 클릭)
2.����������� ������������������ 프로젝트����������� ������������������ 생성
Android����������� ������������������ Studio����������� ������������������ 또는����������� ������������������ Intelli����������� ������������������ J����������� ������������������ 기준����������� ������������������
API����������� ������������������ 버전����������� ������������������ 19����������� ������������������ ~����������� ������������������ 23
Blank����������� ������������������ Activity
Application����������� ������������������ 기능����������� ������������������ 명세
1.����������� ������������������ Firebase����������� ������������������ Auth����������� ������������������ 를����������� ������������������ 이용한����������� ������������������ Email����������� ������������������ &����������� ������������������ Password����������� ������������������ Login
2.����������� ������������������ Analytics����������� ������������������ API����������� ������������������ 활성
3.����������� ������������������ APP����������� ������������������ Crash����������� ������������������ API����������� ������������������ 활성
4.����������� ������������������ Realtime����������� ������������������ DB����������� ������������������ API사용한����������� ������������������ SNS����������� ������������������ 등록����������� ������������������ &����������� ������������������ 목록출력
5.����������� ������������������ Storage����������� ������������������ API����������� ������������������ SNS����������� ������������������ 파일����������� ������������������ 업로드
1.����������� ������������������ Firebase����������� ������������������ Auth����������� ������������������ 를����������� ������������������ 이용한����������� ������������������ Email����������� ������������������ &����������� ������������������ Password����������� ������������������ Login
1.����������� ������������������ Analytics����������� ������������������ API����������� ������������������ 적용
Firebase����������� ������������������ Analytics는����������� ������������������ 사용자����������� ������������������ 및����������� ������������������ 이벤트����������� ������������������ 중심적으로����������� ������������������ 설계되었습니다.����������� ������������������ 전통적인����������� ������������������ 페이지뷰,����������� ������������������ 화면����������� ������������������ 뷰,����������� ������������������ 그리고����������� ������������������ 세션에����������� ������������������ 중점을����������� ������������������ 두는����������� ������������������ 대신����������� ������������������ 사용자들이����������� ������������������ 여러분의����������� ������������������ 앱에서����������� ������������������ 무엇을����������� ������������������ 하는지����������� ������������������ 파악할����������� ������������������ 수����������� ������������������ 있게����������� ������������������ 해줍니다.����������� ������������������ 또한,����������� ������������������ 사용자들이����������� ������������������ 어디서����������� ������������������ 오는지����������� ������������������ 알����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 교차����������� ������������������ 네트워크����������� ������������������ 특성을����������� ������������������ 통해����������� ������������������ 여러분의����������� ������������������ 유료����������� ������������������ 광고����������� ������������������ 캠페인이����������� ������������������ 어떤����������� ������������������ 성과를����������� ������������������ 거두고����������� ������������������ 있는지도����������� ������������������ 확인할����������� ������������������ 수����������� ������������������ 있습니다.����������� ������������������ 이����������� ������������������ 모든����������� ������������������ 것들을����������� ������������������ 하나의����������� ������������������ 대시보드에서����������� ������������������ 볼����������� ������������������ 수����������� ������������������ 있습니
다.����������� ������������������
Firebase����������� ������������������ Analytics는����������� ������������������ Firebase는����������� ������������������ 다양한����������� ������������������ 기능을����������� ������������������ 통합할����������� ������������������ 수����������� ������������������ 있는����������� ������������������ 잠재고객����������� ������������������ 기능을����������� ������������������ 통해����������� ������������������ 공통의����������� ������������������ 특성을����������� ������������������ 지닌����������� ������������������ 사용자����������� ������������������ 그룹을����������� ������������������ 정의할����������� ������������������ 수����������� ������������������ 있습니다.����������� ������������������ 사용자����������� ������������������ 그룹이����������� ������������������ 정의되면����������� ������������������ 다른����������� ������������������ Firebase����������� ������������������ 기능을����������� ������������������ 활용할����������� ������������������ 때����������� ������������������
특정����������� ������������������ 그룹을����������� ������������������ 기반으로����������� ������������������ 기능을����������� ������������������ 적용할����������� ������������������ 수����������� ������������������ 있습니다.
API에는����������� ������������������ 넣었지만,����������� ������������������ 다음번����������� ������������������ 세션때����������� ������������������ 더욱����������� ������������������ 분석해서����������� ������������������ 진행하겠습니다.
3.Crash����������� ������������������ Report
오류날����������� ������������������ 항목에����������� ������������������ Firebase����������� ������������������ CrashAPI를����������� ������������������ 적용하여����������� ������������������ 서버����������� ������������������ 전송
3.����������� ������������������ Real����������� ������������������ Time����������� ������������������ API
IDE에서����������� ������������������ 직접����������� ������������������ 보여드리겠습니다.
3.Storage Service
Android의����������� ������������������ FileChooser를����������� ������������������ 이용해서����������� ������������������ 받아온����������� ������������������ URI를����������� ������������������ 바로����������� ������������������ 업로드����������� ������������������ 후����������� ������������������ Download����������� ������������������ URL을����������� ������������������ 받아올����������� ������������������ 수����������� ������������������ 있다.
코드랩����������� ������������������ 페이지����������� ������������������ 소개����������� ������������������
https://codelabs.developers.google.com/io2016?cat=Firebase����������� ������������������