SlideShare a Scribd company logo
1 of 31
Download to read offline
Firebase Analytics
A/B Testing
Prada
Android Dev in PicCollage
History
every company was built the in-house service
for A/B Testing framework
PicCollage’s A/B
Testing framework
PicCollage’s Config Server
Google Play Partial Rollout
TODO add screenshot
Flurry Explorer
Problems
1. Slow down the release process (1 version/week)
2. .
3. Group control on Client site is dangerous
4. sync config stuff isn’t easy, since the config
become huge.
What if
1. we have more powerful configuration system
2. we have more realtime analytics tool
Google Tag Manager
the super flexible configuration system
After 1 month
Google : Do you want to
try our “new” SDK called
Firebase?
Firebase? Firebase DB?
“New” Firebase
Firebase is …
a mobile first/analytics first backend system.
the saviour for the mobile developers :)
Experiment
What’s the best design for the app navigator?
Drawer Tabs Bottom Navigation
Step-by-step
For Project Manager
ref : https://support.google.com/firebase/answer/6386651
Setup remote config
Binding the Condition
Setup User Properties
Step-by-step
For Developer
ref : https://firebase.google.com/docs/remote-config/
Setup Firebase SDK
buildscript {
dependencies {
// ...
classpath 'com.google.gms:google-services:3.0.0'
}
}
dependencies {
// ...
compile 'com.google.firebase:firebase-core:9.2.1'
compile 'com.google.firebase:firebase-config:9.2.1'
}
ref : https://firebase.google.com/docs/android/setup
Getting the remote config
long cacheExpiration = 3600; // 1 hour
FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
config.fetch(cacheExpiration).continueWith(new Continuation<Void, Void>() {
@Override
public Void then(Task<Void> t) throws Exception {
if (t.getException() != null) {
// getting error when fetching config
return null;
}
config.activateFetched();
String ver = config.getString("use_new_tab_design");
return null;
}
});
sample : https://github.com/firebase/quickstart-android
Setting the User Properties
ref : https://firebase.google.com/docs/remote-config/config-analytics
long cacheExpiration = 3600; // 1 hour
FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
config.fetch(cacheExpiration).continueWith(new Continuation<Void, Void>() {
@Override
public Void then(Task<Void> t) throws Exception {
if (t.getException() != null) {
// getting error when fetching config
return null;
}
config.activateFetched();
String ver = config.getString(“use_new_tab_design");
AppMeasurement.getInstance(context)
.setUserProperty(“use_new_tab_design", ver);
return null;
}
});
After a week
Analytics Result
Bottom Navigation
Summary
The Good
1. The library size for android is very small.
2. Super easy to integration(live version).
3. Flexible : more use case, e.g, FCM
+Crash User, BigQuery Integration…etc
We Hope
1. Remote config : multi-conditional
experiment.
2. Android SDK depends on the right
google play service version.
• so it’s not all of android phone can use. e.g, Amazon Kindle
3. Analytics :
• Open funnel is weird.
• Limitation of User Property
user property limitation : https://support.google.com/firebase/answer/6317519?hl=en&ref_topic=6317489
Q&A
Thanks

More Related Content

What's hot

What's hot (19)

Heroku and Rails Applications
Heroku and Rails ApplicationsHeroku and Rails Applications
Heroku and Rails Applications
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
 
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
 
Kotlin in industry
Kotlin in industryKotlin in industry
Kotlin in industry
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
 
Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018Android Jetpack - Google IO Extended Singapore 2018
Android Jetpack - Google IO Extended Singapore 2018
 
Azure deployment techniques By Arindam
Azure deployment techniques By ArindamAzure deployment techniques By Arindam
Azure deployment techniques By Arindam
 
Deep dive into serverless on Google Cloud
Deep dive into serverless on Google CloudDeep dive into serverless on Google Cloud
Deep dive into serverless on Google Cloud
 
10 things you can do at the edge
10 things you can do at the edge10 things you can do at the edge
10 things you can do at the edge
 
Machine Learning Bookcamp
Machine Learning BookcampMachine Learning Bookcamp
Machine Learning Bookcamp
 
Autoscaling event driven apps
Autoscaling event driven appsAutoscaling event driven apps
Autoscaling event driven apps
 
Your own on-demand Angular projects with ngX-Rocket
Your own on-demand Angular projects with ngX-RocketYour own on-demand Angular projects with ngX-Rocket
Your own on-demand Angular projects with ngX-Rocket
 
Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)
 
Google AppEngine and Cloud Endpoint
Google AppEngine and Cloud EndpointGoogle AppEngine and Cloud Endpoint
Google AppEngine and Cloud Endpoint
 
Better Software is Better than Worse Software - Michael Coté (Istanbul)
Better Software is Better than Worse Software - Michael Coté (Istanbul)Better Software is Better than Worse Software - Michael Coté (Istanbul)
Better Software is Better than Worse Software - Michael Coté (Istanbul)
 
Where should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and moreWhere should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and more
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
 
Workshop Azure DevOps Repos
Workshop Azure DevOps ReposWorkshop Azure DevOps Repos
Workshop Azure DevOps Repos
 

Similar to Firebase analytics event_201607

Testing of javacript
Testing of javacriptTesting of javacript
Testing of javacript
Lei Kang
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
catherinewall
 
把鐵路開進視窗裡
把鐵路開進視窗裡把鐵路開進視窗裡
把鐵路開進視窗裡
Wei Jen Lu
 

Similar to Firebase analytics event_201607 (20)

Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App Engine
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
 
Building with Firebase
Building with FirebaseBuilding with Firebase
Building with Firebase
 
Testing of javacript
Testing of javacriptTesting of javacript
Testing of javacript
 
App engine ja night 9 beertalk2
App engine ja night 9 beertalk2App engine ja night 9 beertalk2
App engine ja night 9 beertalk2
 
Docker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline Execution
 
JCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop LabsJCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop Labs
 
Supercharge your app with Cloud Functions for Firebase
Supercharge your app with Cloud Functions for FirebaseSupercharge your app with Cloud Functions for Firebase
Supercharge your app with Cloud Functions for Firebase
 
Firebase Cloud Functions V2
Firebase Cloud Functions V2Firebase Cloud Functions V2
Firebase Cloud Functions V2
 
Firestore MENA digital days : GDG Abu dhabi
Firestore MENA digital days : GDG Abu dhabiFirestore MENA digital days : GDG Abu dhabi
Firestore MENA digital days : GDG Abu dhabi
 
Firebase overview
Firebase overviewFirebase overview
Firebase overview
 
Introduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google CloudIntroduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google Cloud
 
Lecture 11 Firebase overview
Lecture 11 Firebase overviewLecture 11 Firebase overview
Lecture 11 Firebase overview
 
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
 
Integration tests: use the containers, Luke!
Integration tests: use the containers, Luke!Integration tests: use the containers, Luke!
Integration tests: use the containers, Luke!
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Understanding meteor
Understanding meteorUnderstanding meteor
Understanding meteor
 
Serverless Angular, Material, Firebase and Google Cloud applications
Serverless Angular, Material, Firebase and Google Cloud applicationsServerless Angular, Material, Firebase and Google Cloud applications
Serverless Angular, Material, Firebase and Google Cloud applications
 
把鐵路開進視窗裡
把鐵路開進視窗裡把鐵路開進視窗裡
把鐵路開進視窗裡
 

More from PRADA Hsiung

More from PRADA Hsiung (20)

Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue
 
U/T/B-Driven Development
U/T/B-Driven Development U/T/B-Driven Development
U/T/B-Driven Development
 
Job-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessJob-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 Process
 
20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava Threading20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava Threading
 
Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.
 
Introduce Flutter Development
Introduce Flutter DevelopmentIntroduce Flutter Development
Introduce Flutter Development
 
JTBD case study : Uber Rider App
JTBD case study : Uber Rider AppJTBD case study : Uber Rider App
JTBD case study : Uber Rider App
 
20180124 android taipei_arinterface
20180124 android taipei_arinterface20180124 android taipei_arinterface
20180124 android taipei_arinterface
 
JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709
 
ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709
 
PicCollage - modules map
PicCollage - modules mapPicCollage - modules map
PicCollage - modules map
 
COSCUP 2017 FACE OFF
COSCUP 2017 FACE OFFCOSCUP 2017 FACE OFF
COSCUP 2017 FACE OFF
 
IO17就是講義氣
IO17就是講義氣IO17就是講義氣
IO17就是講義氣
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflow
 
臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅
 
網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)
 
那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)
 
安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + Jenkins安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + Jenkins
 
期末專題報告:嵌入式系統之影像處理器
期末專題報告:嵌入式系統之影像處理器期末專題報告:嵌入式系統之影像處理器
期末專題報告:嵌入式系統之影像處理器
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Firebase analytics event_201607