Top Banner
Firebase Analytics A/B Testing ጱஞ᪠稲纷 Prada Android Dev in PicCollage
31

Firebase analytics event_201607

Apr 13, 2017

Download

Technology

PRADA Hsiung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Firebase analytics event_201607

Firebase Analytics A/B Testing

Prada Android Dev in PicCollage

Page 2: Firebase analytics event_201607

Historyevery company was built the in-house service

for A/B Testing framework

Page 3: Firebase analytics event_201607

PicCollage’s A/B Testing framework

Page 4: Firebase analytics event_201607

PicCollage’s Config Server

Page 5: Firebase analytics event_201607

Google Play Partial Rollout

TODO add screenshot

Page 6: Firebase analytics event_201607

Flurry Explorer

Page 7: Firebase analytics event_201607

Problems1. 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.

Page 8: Firebase analytics event_201607

What if1. we have more powerful configuration system 2. we have more realtime analytics tool

Page 9: Firebase analytics event_201607

Google Tag Managerthe super flexible configuration system

Page 10: Firebase analytics event_201607
Page 11: Firebase analytics event_201607

After 1 month

Page 12: Firebase analytics event_201607

Google : Do you want to try our “new” SDK called

Firebase?

Page 13: Firebase analytics event_201607

Firebase? Firebase DB?

Page 14: Firebase analytics event_201607

“New” Firebase

Page 15: Firebase analytics event_201607

Firebase is …a mobile first/analytics first backend system.

the saviour for the mobile developers :)

Page 16: Firebase analytics event_201607

ExperimentWhat’s the best design for the app navigator?

Page 17: Firebase analytics event_201607

Drawer Tabs Bottom Navigation

Page 18: Firebase analytics event_201607

Step-by-stepFor Project Manager

ref : https://support.google.com/firebase/answer/6386651

Page 19: Firebase analytics event_201607

Setup remote config

Page 20: Firebase analytics event_201607

Binding the Condition

Page 21: Firebase analytics event_201607

Setup User Properties

Page 22: Firebase analytics event_201607

Step-by-stepFor Developer

ref : https://firebase.google.com/docs/remote-config/

Page 23: Firebase analytics event_201607

Setup Firebase SDKbuildscript { 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

Page 24: Firebase analytics event_201607

Getting the remote configlong 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

Page 25: Firebase analytics event_201607

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; } });

Page 26: Firebase analytics event_201607

After a week

Page 27: Firebase analytics event_201607

Analytics ResultBottom Navigation

Page 28: Firebase analytics event_201607

Summary

Page 29: Firebase analytics event_201607

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

Page 30: Firebase analytics event_201607

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

Page 31: Firebase analytics event_201607

Q&A Thanks