SlideShare a Scribd company logo
Google Firebase
레고블럭 조립하기
로
2016.06.19
말랑스튜디오 최치웅
Speaker
최치웅
2006.03 ~ 2008.05
2008.06 ~ 2010.12
2011.01 ~ 2011.12
2012.01 ~ 2014.01
2014.02 ~ 현재
㈜ 모빌탑
㈜ 네이블커뮤니케이션즈
㈜ 말랑스튜디오
㈜ 삼성전자
㈜ 말랑스튜디오
Alarm
Social Dating
Study
Schedule
Transportation
Period Tracker
Diary
Community
말랑스튜디오는 다양한 분야의 생활 밀착형
모바일 앱 서비스를 통해 국내 및 해외 시장
을 선도하고 있습니다.
전세계 2,400만 명의 이용자를 보유한 알람 앱
알람몬을 비롯 여성 필수앱 원스,데이팅 SNS
1km, 다이어트앱 다이어터 등을 운영 중입니다.
말랑스튜디오는 여러분야에서 사용될 수 있는
앱 환경을 만들어 시너지 효과를 창출,
보다 많은 유저들이 효율적인 라이프-로그를
누릴 수 있도록 노력할 것입니다.
Mobile Time Share.
스마트폰 Life Style 필수 앱. 하루 종일 말랑 Life!
Google Firebase로 레고블럭 조립하기 - IO Extended 2016
Firebase가 확장되어 Android, iOS, 모바일 웹 개발을 위한 통합 앱 플랫폼으로 거듭납니다.
Google은 개발자 여러분이 더 빠르게 앱을 개발하고, 앱의 품질을 향상하고, 사용자를 확보하여 참여시키고, 앱에서 수익을 창출하는 데 도움이
되는 새 도구들을 추가했습니다. 뿐만 아니라, 이 모든 것을 하나로 묶어 한 눈에 살펴볼 수 있는, 완전히 새로운 분석용 제품을 출시합니다.
1
2
3
사용하기 쉬운 개발도구
다양한 플랫폼 지원
통합된 개발 환경.
사용하기 쉽고 잘 문서화되어 있으며 직관적인 API는 개발자의 개발 업무를 즐겁게 해줍니다.
iOS용으로 개발하든, 웹이나 Android용으로 개발하든, 저희가 지원해 드리겠습니다.
Firebase는 하나의 SDK, 하나의 콘솔이 존재하며, 개발 가이드나 API를 참조할 때 찾아봐야할 개발자 사이트
도 한 곳으로 통합되어 있습니다. 어떤 기능이든 조합해서 원하는 것을 만들고, 각 기능들 사이 데이터 흐름
을 한 눈에 살펴보고, 더 많은 것들을 더 빠르게 수행할 수 있습니다.
[출처] Google Developers Korea Blog
Why Firebase
높아진 시장 기준
시장 수준이 올라가면서
서비스에 필요한 개발 사이즈도 점점 증가
늘어나는 개발 기간
빠르게 변하는
시장 대응의 어려움
작은 Team
스타트업 특성 상 적은 수의 팀원
FOCUS
핵심에만 집중하기
핵심 기술외의 작업들은 적절한 외부 서비스를 찾아 적용하기
• Crash Reporting
• Analytics
• Deep Link, etc.
• Auth
• Notification
• Storage
• CDN
• Database, etc.
서비스 본질에 집중
Firebase 도입으로 개발 기간을 단축시켜 빠르게 시장 진입 후 유저 반응 관찰
Firebase’s Features
Test Lab
Crash Reporting
Remote Config
Storage
Hosting
Authentication
Realtime Database
Cloud Messaging
Invites
Adwords
App Indexing
Notification
Dynamic Links
Admob
Analytics
DEVELOP GROW EARN
BASIC
Test Lab
Crash Reporting
Remote Config
Storage
Hosting
Authentication
Realtime Database
Cloud Messaging
Invites
Adwords
App Indexing
Notification
Dynamic Links
Admob
Analytics
DEVELOP GROW EARN
BASIC
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
BASIC
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
1
2
3
4
Free!
간단한 구현
커스텀 이벤트
예쁜 대시보드
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
• Just add the Firebase SDK to your new or existing app, and
data collection begins automatically.1
2
3
4
간단한 구현
Free!
커스텀 이벤트
예쁜 대시보드
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
• If your app needs to collect additional data, you can log up to 500
different Analytics Event types in your app. There is no limit on the
total volume of events your app logs.
1
2
3
4
간단한 구현
Free!
커스텀 이벤트
예쁜 대시보드
• Automatically collected events
 first_open
 in_app_purchase
 user_engagement
 session_start
 app_update
 app_remove
 os_update
 app_clear_data, etc.
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
+ Quick!
1
2
3
4
간단한 구현
Free!
커스텀 이벤트
예쁜 대시보드
Analytics
Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함
사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구
GA보다는 쉬운,
여전히 복잡한
but,
ex. Custom parameters are not represented directly in your Analytics reports,
but they can be used as filters in audience definitions that can be applied to every report.
Custom parameters are also included in data exported to BigQuery if your app is linked to a
BigQuery project.
Crash Reporting
서비스 상태를 파악하고 서비스 retention에 큰 영향을 줄 수 있는
crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
DEVELOP
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
1
2
3
Free!
간단한 구현
예쁜 대시보드
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
• (Android) Add the dependency for Crash Reporting
to your app-level build.gradle file:
compile 'com.google.firebase:firebase-crash:9.0.2'
• (iOS) Add the dependency for Firebase Crash
Reporting to your podfile:
pod 'Firebase/Crash'
1
2
3
Free!
간단한 구현
예쁜 대시보드
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
+ Analytics에서 자동으로 이벤트 제공
1
2
3
Free!
간단한 구현
예쁜 대시보드
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
1
2
3
Beta 버전
Slow
추가 기능 부족
• Known issues : Multiple processes
Report
Answer
• (Android) 무조건 Crash reporting 용으로 process를 fork함
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
1
2
3
Slow
추가 기능 부족
Beta 버전
Crash Reporting
서비스 retention에 큰 영향을 줄 수 있는 crash
: 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능
cf. Closing 기능
Share 기능
Note 기능
1
2
3 추가 기능 부족
Beta 버전
Slow
Authentication
사용자 인증 작업을 최소화시키고
손쉽게 유저를 관리할 수 있는 대시보드 제공
DEVELOP
Authentication
사용자 인증 작업 최소화
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
인증서버 필요없음
Authentication
사용자 인증 작업 최소화
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
인증서버 필요없음
mAuth = FirebaseAuth.getInstance();
AuthCredential credential = TwitterAuthProvider.getCredential(
session.getAuthToken().token,
session.getAuthToken().secret);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "signInWithCredential", task.getException());
Toast.makeText(TwitterLoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
• Twitter Auth Example Android
Authentication
사용자 인증 작업 최소화
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
인증서버 필요없음
• Twitter Auth Example iOS
FIRAuthCredential *credential =
[FIRTwitterAuthProvider credentialWithToken:session.authToken
secret:session.authTokenSecret];
[[FIRAuth auth] signInWithCredential:credential
completion:^(FIRUser *user, NSError *error) {
// ...
}];
Authentication
사용자 인증 작업 최소화
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
인증서버 필요없음
Authentication
사용자 인증 작업 최소화
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
인증서버 필요없음
1
2
한정적 템플릿
타 Provider
구현 어려움
Authentication
사용자 인증 작업 최소화
1
2
한정적 템플릿
타 Provider
구현 어려움
Authentication
사용자 인증 작업 최소화
Email facebook google
twitter github anomynous
지원되지 않는 Login Provider의
경우 구현하기 까다로움
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
GROW
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
Analytics 연계분석
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
Analytics 연계분석
• (Android) Firebase to your Android project. Add the dependency
for Firebase Dynamic Links to your app-level build.gradle file:
compile 'com.google.firebase:firebase-invites:9.0.2'
• (iOS) Add Firebase to your iOS project. Include the following
pod in your Podfile:
pod 'Firebase/DynamicLinks'
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
Analytics 연계분석
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
Analytics 연계분석
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
1
2
Shorten URL
Meta tag
수정 불가능
• Shorten URL 생성 가능한 API 제공 안함
• 기존 google URL shortener API 사용 시
iOS에서 동작이 원활하지 않음
Dynamic Links
유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여
서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능
Meta tag 수정 불가능
1
2
Shorten URL
Meta tag
수정 불가능
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해
서비스 retention를 강화시키기 위한 기능
GROW
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
자체 서버 필요 (X)
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
자체 서버 필요 (X)
• (Android) Add one line of code to add the FCM dependency to
your app.
dependencies {
compile ‘com.google.firebase:firebase-messaging:9.0.2’
}
• (iOS) Upload your APNs certificate to Firebase, and in the
podfile for your app, add the following line
pod 'Firebase/Messaging'
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
자체 서버 필요 (X)
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
3
4
Free!
간단한 구현
예쁜 대시보드
자체 서버 필요 (X)
자체 서버 필요 없음(X) -> 푸시 운영 툴 제공
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
5
6
Analytics 연계분석
로컬 타임존 지원
• Analytics와 연계되는 Segment 지원
• 기본 통계를 Analytics를 통해 충실히 지원
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
• 전환 통계 역시 손쉽게 사용 가능
5
6
Analytics 연계분석
로컬 타임존 지원
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
• Flexible message scheduling
5
6
Analytics 연계분석
로컬 타임존 지원
: Deliver notifications (up to 2kb) immediately,
or at a future time in the client's local time
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
이미지 푸시 (X)
테스트 디바이스
설정 불가능
cf. <OneSignal>
Notification
사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능
1
2
이미지 푸시 (X)
테스트 디바이스
설정 불가능
Firebase
cf. Tapjoy
Why Firebase
Integrated
Firebase Analytics 를 중심으로
많은 feature들이 유기적으로 연동
매우 유연하고 강력한
서비스 운영환경 구축이 가능
데이터 수집/분석
운영
개선
Conclusion
레고블럭을 만드는 사람
개발/운영 절차를 간소화 할 수 있는
서비스를 제공
최근 트렌드
모든 사람들이 레고블럭을
굳이 만들 필요가 없어짐
레고블럭을 조립하는 회사
End User가 겪고 있는 문제를 해결하고
가치를 창출하는데 집중
레고블럭을 조립하는 사람이 모여 있는 회사
최대한 범용성 있고 좋은 레고 블록을 빠르게 모으고 조립해서
좋은 제품을 출시하여 사용자에게 다가가는 것이 목표
안해도 되는 일은 굳이 하지 맙시다
Q&A

More Related Content

PDF
Abcd 2016 firebase
휴창 신
 
PDF
Google Calendar API - PHP 연동하기
승빈이네 공작소
 
PDF
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
승빈이네 공작소
 
PDF
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
KTH, 케이티하이텔
 
PDF
Elastic beanstalk - 판교 초급자 모임 - 안병학
Byeong-hak An
 
PDF
현실적 PWA
Jae Sung Park
 
PDF
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
승빈이네 공작소
 
PDF
iOS9 소개
Jae Sung Park
 
Abcd 2016 firebase
휴창 신
 
Google Calendar API - PHP 연동하기
승빈이네 공작소
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
승빈이네 공작소
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
KTH, 케이티하이텔
 
Elastic beanstalk - 판교 초급자 모임 - 안병학
Byeong-hak An
 
현실적 PWA
Jae Sung Park
 
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
승빈이네 공작소
 
iOS9 소개
Jae Sung Park
 

What's hot (20)

PDF
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
Open Source Consulting
 
PDF
프로그레시브 웹앱(Pwa)
Woncheol Lee
 
PDF
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
승빈이네 공작소
 
PPTX
Jinyweb
hojin lee
 
PDF
GitLab Premium 라이선스 기능소개 - 인포그랩
InfoGrab LC
 
PDF
왜 레진코믹스는 구글앱엔진을 선택했나
소리 강
 
PDF
프로그레시브 웹앱이란? - Progressive Web Apps
Gihyo Joshua Jang
 
PDF
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
Amazon Web Services Korea
 
PPTX
AWS Lambda를 이용한 CI/CD 기법
Jesang Yoon
 
PDF
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Amazon Web Services Korea
 
PPTX
코드로 인프라 관리하기 - 자동화 툴 소개
태준 문
 
PPTX
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
태준 문
 
PDF
JBoss EAP on Azure Workshop
rockplace
 
PDF
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang
 
PDF
DevOps Demo
Mee Nam Lee
 
PDF
GAE 위에서 DJANGO 사용하기
Tae-lim Oh
 
PDF
Spring boot와 docker를 이용한 msa
흥래 김
 
PDF
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
승빈이네 공작소
 
PDF
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
OpenStack Korea Community
 
PDF
서버리스 대규모 리얼타임 웹 구축하기
Taeyoung Kim
 
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
Open Source Consulting
 
프로그레시브 웹앱(Pwa)
Woncheol Lee
 
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
승빈이네 공작소
 
Jinyweb
hojin lee
 
GitLab Premium 라이선스 기능소개 - 인포그랩
InfoGrab LC
 
왜 레진코믹스는 구글앱엔진을 선택했나
소리 강
 
프로그레시브 웹앱이란? - Progressive Web Apps
Gihyo Joshua Jang
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
Amazon Web Services Korea
 
AWS Lambda를 이용한 CI/CD 기법
Jesang Yoon
 
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Amazon Web Services Korea
 
코드로 인프라 관리하기 - 자동화 툴 소개
태준 문
 
DEVOPS 에 대한 전반적인 소개 및 자동화툴 소개
태준 문
 
JBoss EAP on Azure Workshop
rockplace
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang
 
DevOps Demo
Mee Nam Lee
 
GAE 위에서 DJANGO 사용하기
Tae-lim Oh
 
Spring boot와 docker를 이용한 msa
흥래 김
 
Firebase for web (웹개발을 위한 파이어베이스) 4 Storage
승빈이네 공작소
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
OpenStack Korea Community
 
서버리스 대규모 리얼타임 웹 구축하기
Taeyoung Kim
 
Ad

Viewers also liked (7)

PPTX
Firebase
TriState Technology
 
PPTX
Modern Android App Development
Chi Hwan Choi
 
PPTX
RokSeoul
SeongSik Choi
 
PDF
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
마이캠퍼스
 
PPTX
리눅스를 이용한 Nas만들기
SeongSik Choi
 
PDF
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
Amazon Web Services Korea
 
PPTX
Vue.js와 Firebase를 활용한 웹 서비스 개발
Aria (In Suk) Kim
 
Modern Android App Development
Chi Hwan Choi
 
RokSeoul
SeongSik Choi
 
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
마이캠퍼스
 
리눅스를 이용한 Nas만들기
SeongSik Choi
 
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
Amazon Web Services Korea
 
Vue.js와 Firebase를 활용한 웹 서비스 개발
Aria (In Suk) Kim
 
Ad

Similar to Google Firebase로 레고블럭 조립하기 - IO Extended 2016 (20)

PDF
파이어베이스 스터디
성일 한
 
PPTX
GDG DevFest Busan 16" Android Nougat Developer's Note
Seok-yong Kim
 
PDF
track2 01. 서버리스 아키텍처 소셜미디어 개발기인데요. React를 썼어요/ 삼성SDS, 도경태 & 양선호
양 한빛
 
PDF
M baa s트랜드 소개
Myungjin Choi
 
PDF
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
NAVER D2
 
PDF
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
Amazon Web Services Korea
 
PPTX
페이스북,트위터기능 (1)
현 나
 
PDF
Firebase를 이용한 호우호우 미니게임 만들기
Yong-sang Lee
 
PDF
FIrebase를 이용한 호우호우 미니게임 만들기
GDG Korea
 
PDF
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
Hyun-woo Park
 
PDF
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
smartstudy_official
 
PDF
2014 F8: 페이스북 개발자 컨퍼런스
Innobirds Media
 
PDF
파이어베이스를 이용한 모바일 앱 개발
재원 최
 
PDF
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
Channy Yun
 
PDF
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
 
PPTX
유니티 REST API를 사용한 파이어 베이스의 데이터 베이스 사용.
ssuser6dd171
 
PPTX
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
JM code group
 
PDF
안드로이드 개발에 유용한 도구들
Sewon Ann
 
PPTX
Flutter & Firebase
Wonjun Hwang
 
PPTX
Open source engineering - 0.1
YoungSu Son
 
파이어베이스 스터디
성일 한
 
GDG DevFest Busan 16" Android Nougat Developer's Note
Seok-yong Kim
 
track2 01. 서버리스 아키텍처 소셜미디어 개발기인데요. React를 썼어요/ 삼성SDS, 도경태 & 양선호
양 한빛
 
M baa s트랜드 소개
Myungjin Choi
 
[2A1]Line은 어떻게 글로벌 메신저 플랫폼이 되었는가
NAVER D2
 
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
Amazon Web Services Korea
 
페이스북,트위터기능 (1)
현 나
 
Firebase를 이용한 호우호우 미니게임 만들기
Yong-sang Lee
 
FIrebase를 이용한 호우호우 미니게임 만들기
GDG Korea
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
Hyun-woo Park
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
smartstudy_official
 
2014 F8: 페이스북 개발자 컨퍼런스
Innobirds Media
 
파이어베이스를 이용한 모바일 앱 개발
재원 최
 
스타트업을 위한 성공적인 Open AP 만들기 - 윤석찬 (2012)
Channy Yun
 
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
 
유니티 REST API를 사용한 파이어 베이스의 데이터 베이스 사용.
ssuser6dd171
 
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
JM code group
 
안드로이드 개발에 유용한 도구들
Sewon Ann
 
Flutter & Firebase
Wonjun Hwang
 
Open source engineering - 0.1
YoungSu Son
 

Google Firebase로 레고블럭 조립하기 - IO Extended 2016

  • 2. Speaker 최치웅 2006.03 ~ 2008.05 2008.06 ~ 2010.12 2011.01 ~ 2011.12 2012.01 ~ 2014.01 2014.02 ~ 현재 ㈜ 모빌탑 ㈜ 네이블커뮤니케이션즈 ㈜ 말랑스튜디오 ㈜ 삼성전자 ㈜ 말랑스튜디오
  • 3. Alarm Social Dating Study Schedule Transportation Period Tracker Diary Community 말랑스튜디오는 다양한 분야의 생활 밀착형 모바일 앱 서비스를 통해 국내 및 해외 시장 을 선도하고 있습니다. 전세계 2,400만 명의 이용자를 보유한 알람 앱 알람몬을 비롯 여성 필수앱 원스,데이팅 SNS 1km, 다이어트앱 다이어터 등을 운영 중입니다. 말랑스튜디오는 여러분야에서 사용될 수 있는 앱 환경을 만들어 시너지 효과를 창출, 보다 많은 유저들이 효율적인 라이프-로그를 누릴 수 있도록 노력할 것입니다. Mobile Time Share. 스마트폰 Life Style 필수 앱. 하루 종일 말랑 Life!
  • 5. Firebase가 확장되어 Android, iOS, 모바일 웹 개발을 위한 통합 앱 플랫폼으로 거듭납니다. Google은 개발자 여러분이 더 빠르게 앱을 개발하고, 앱의 품질을 향상하고, 사용자를 확보하여 참여시키고, 앱에서 수익을 창출하는 데 도움이 되는 새 도구들을 추가했습니다. 뿐만 아니라, 이 모든 것을 하나로 묶어 한 눈에 살펴볼 수 있는, 완전히 새로운 분석용 제품을 출시합니다. 1 2 3 사용하기 쉬운 개발도구 다양한 플랫폼 지원 통합된 개발 환경. 사용하기 쉽고 잘 문서화되어 있으며 직관적인 API는 개발자의 개발 업무를 즐겁게 해줍니다. iOS용으로 개발하든, 웹이나 Android용으로 개발하든, 저희가 지원해 드리겠습니다. Firebase는 하나의 SDK, 하나의 콘솔이 존재하며, 개발 가이드나 API를 참조할 때 찾아봐야할 개발자 사이트 도 한 곳으로 통합되어 있습니다. 어떤 기능이든 조합해서 원하는 것을 만들고, 각 기능들 사이 데이터 흐름 을 한 눈에 살펴보고, 더 많은 것들을 더 빠르게 수행할 수 있습니다. [출처] Google Developers Korea Blog
  • 7. 높아진 시장 기준 시장 수준이 올라가면서 서비스에 필요한 개발 사이즈도 점점 증가 늘어나는 개발 기간 빠르게 변하는 시장 대응의 어려움 작은 Team 스타트업 특성 상 적은 수의 팀원
  • 8. FOCUS 핵심에만 집중하기 핵심 기술외의 작업들은 적절한 외부 서비스를 찾아 적용하기 • Crash Reporting • Analytics • Deep Link, etc. • Auth • Notification • Storage • CDN • Database, etc.
  • 9. 서비스 본질에 집중 Firebase 도입으로 개발 기간을 단축시켜 빠르게 시장 진입 후 유저 반응 관찰
  • 11. Test Lab Crash Reporting Remote Config Storage Hosting Authentication Realtime Database Cloud Messaging Invites Adwords App Indexing Notification Dynamic Links Admob Analytics DEVELOP GROW EARN BASIC
  • 12. Test Lab Crash Reporting Remote Config Storage Hosting Authentication Realtime Database Cloud Messaging Invites Adwords App Indexing Notification Dynamic Links Admob Analytics DEVELOP GROW EARN BASIC
  • 13. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 BASIC
  • 14. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 1 2 3 4 Free! 간단한 구현 커스텀 이벤트 예쁜 대시보드
  • 15. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 • Just add the Firebase SDK to your new or existing app, and data collection begins automatically.1 2 3 4 간단한 구현 Free! 커스텀 이벤트 예쁜 대시보드
  • 16. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 • If your app needs to collect additional data, you can log up to 500 different Analytics Event types in your app. There is no limit on the total volume of events your app logs. 1 2 3 4 간단한 구현 Free! 커스텀 이벤트 예쁜 대시보드 • Automatically collected events  first_open  in_app_purchase  user_engagement  session_start  app_update  app_remove  os_update  app_clear_data, etc.
  • 17. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 + Quick! 1 2 3 4 간단한 구현 Free! 커스텀 이벤트 예쁜 대시보드
  • 18. Analytics Firebase의 핵심 기능 → 다른 Feature들을 위한 base역할을 함 사용자가 서비스를 사용하는 방식을 측정/분석하고 참여율을 높이기 위한 도구 GA보다는 쉬운, 여전히 복잡한 but, ex. Custom parameters are not represented directly in your Analytics reports, but they can be used as filters in audience definitions that can be applied to every report. Custom parameters are also included in data exported to BigQuery if your app is linked to a BigQuery project.
  • 19. Crash Reporting 서비스 상태를 파악하고 서비스 retention에 큰 영향을 줄 수 있는 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 DEVELOP
  • 20. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 1 2 3 Free! 간단한 구현 예쁜 대시보드
  • 21. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 • (Android) Add the dependency for Crash Reporting to your app-level build.gradle file: compile 'com.google.firebase:firebase-crash:9.0.2' • (iOS) Add the dependency for Firebase Crash Reporting to your podfile: pod 'Firebase/Crash' 1 2 3 Free! 간단한 구현 예쁜 대시보드
  • 22. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 + Analytics에서 자동으로 이벤트 제공 1 2 3 Free! 간단한 구현 예쁜 대시보드
  • 23. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 1 2 3 Beta 버전 Slow 추가 기능 부족 • Known issues : Multiple processes Report Answer • (Android) 무조건 Crash reporting 용으로 process를 fork함
  • 24. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 1 2 3 Slow 추가 기능 부족 Beta 버전
  • 25. Crash Reporting 서비스 retention에 큰 영향을 줄 수 있는 crash : 서비스 상태를 파악하고 crash 발생 시 빠른 대응을 할 수 있도록 개발자들을 돕기 위한 기능 cf. Closing 기능 Share 기능 Note 기능 1 2 3 추가 기능 부족 Beta 버전 Slow
  • 26. Authentication 사용자 인증 작업을 최소화시키고 손쉽게 유저를 관리할 수 있는 대시보드 제공 DEVELOP
  • 27. Authentication 사용자 인증 작업 최소화 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 인증서버 필요없음
  • 28. Authentication 사용자 인증 작업 최소화 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 인증서버 필요없음 mAuth = FirebaseAuth.getInstance(); AuthCredential credential = TwitterAuthProvider.getCredential( session.getAuthToken().token, session.getAuthToken().secret); mAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (!task.isSuccessful()) { Log.w(TAG, "signInWithCredential", task.getException()); Toast.makeText(TwitterLoginActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); } } }); • Twitter Auth Example Android
  • 29. Authentication 사용자 인증 작업 최소화 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 인증서버 필요없음 • Twitter Auth Example iOS FIRAuthCredential *credential = [FIRTwitterAuthProvider credentialWithToken:session.authToken secret:session.authTokenSecret]; [[FIRAuth auth] signInWithCredential:credential completion:^(FIRUser *user, NSError *error) { // ... }];
  • 30. Authentication 사용자 인증 작업 최소화 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 인증서버 필요없음
  • 31. Authentication 사용자 인증 작업 최소화 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 인증서버 필요없음
  • 32. 1 2 한정적 템플릿 타 Provider 구현 어려움 Authentication 사용자 인증 작업 최소화
  • 33. 1 2 한정적 템플릿 타 Provider 구현 어려움 Authentication 사용자 인증 작업 최소화 Email facebook google twitter github anomynous 지원되지 않는 Login Provider의 경우 구현하기 까다로움
  • 34. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 GROW
  • 35. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 Analytics 연계분석
  • 36. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 Analytics 연계분석 • (Android) Firebase to your Android project. Add the dependency for Firebase Dynamic Links to your app-level build.gradle file: compile 'com.google.firebase:firebase-invites:9.0.2' • (iOS) Add Firebase to your iOS project. Include the following pod in your Podfile: pod 'Firebase/DynamicLinks'
  • 37. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 Analytics 연계분석
  • 38. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 Analytics 연계분석
  • 39. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 1 2 Shorten URL Meta tag 수정 불가능 • Shorten URL 생성 가능한 API 제공 안함 • 기존 google URL shortener API 사용 시 iOS에서 동작이 원활하지 않음
  • 40. Dynamic Links 유저가 사용하고 있는 플랫폼, 상황에 따라 사용자 경험을 달리하여 서비스에 대한 만족도를 극대화 할 수 있도록 돕기 위한 기능 Meta tag 수정 불가능 1 2 Shorten URL Meta tag 수정 불가능
  • 41. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 GROW
  • 42. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 자체 서버 필요 (X)
  • 43. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 자체 서버 필요 (X) • (Android) Add one line of code to add the FCM dependency to your app. dependencies { compile ‘com.google.firebase:firebase-messaging:9.0.2’ } • (iOS) Upload your APNs certificate to Firebase, and in the podfile for your app, add the following line pod 'Firebase/Messaging'
  • 44. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 자체 서버 필요 (X)
  • 45. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 3 4 Free! 간단한 구현 예쁜 대시보드 자체 서버 필요 (X) 자체 서버 필요 없음(X) -> 푸시 운영 툴 제공
  • 46. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 5 6 Analytics 연계분석 로컬 타임존 지원 • Analytics와 연계되는 Segment 지원 • 기본 통계를 Analytics를 통해 충실히 지원
  • 47. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 • 전환 통계 역시 손쉽게 사용 가능 5 6 Analytics 연계분석 로컬 타임존 지원
  • 48. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 • Flexible message scheduling 5 6 Analytics 연계분석 로컬 타임존 지원 : Deliver notifications (up to 2kb) immediately, or at a future time in the client's local time
  • 49. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 이미지 푸시 (X) 테스트 디바이스 설정 불가능 cf. <OneSignal>
  • 50. Notification 사용자에게 적시에 적절한 내용의 메시지를 전송해 서비스 retention를 강화시키기 위한 기능 1 2 이미지 푸시 (X) 테스트 디바이스 설정 불가능 Firebase cf. Tapjoy
  • 52. Integrated Firebase Analytics 를 중심으로 많은 feature들이 유기적으로 연동 매우 유연하고 강력한 서비스 운영환경 구축이 가능 데이터 수집/분석 운영 개선
  • 54. 레고블럭을 만드는 사람 개발/운영 절차를 간소화 할 수 있는 서비스를 제공 최근 트렌드 모든 사람들이 레고블럭을 굳이 만들 필요가 없어짐 레고블럭을 조립하는 회사 End User가 겪고 있는 문제를 해결하고 가치를 창출하는데 집중
  • 55. 레고블럭을 조립하는 사람이 모여 있는 회사 최대한 범용성 있고 좋은 레고 블록을 빠르게 모으고 조립해서 좋은 제품을 출시하여 사용자에게 다가가는 것이 목표
  • 56. 안해도 되는 일은 굳이 하지 맙시다
  • 57. Q&A