Firebase analytics event_201607

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

Transcript of Firebase analytics event_201607

Firebase Analytics A/B Testing

Prada Android Dev in PicCollage

Historyevery 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

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.

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

Google Tag Managerthe 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 :)

ExperimentWhat’s the best design for the app navigator?

Drawer Tabs Bottom Navigation

Step-by-stepFor Project Manager

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

Setup remote config

Binding the Condition

Setup User Properties

Step-by-stepFor Developer

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

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

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

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 ResultBottom 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