potatotips #24 - analytigs and event properties
TRANSCRIPT
Eventssome examples:
- First launch- Pressed “sign up” button- Authenticated successfully- Authentication error- Purchased in-app item- etc...
EventsWith events tracking you can
- track user activity in your app (engagement)- find where users are dropping (funnels)- discover what users love most in you app (retention)
now imagine as if you’re trying to understand a drop in your funnel
Sign in screen viewed
Sign in button clicked50% Authenticated90%
but imagine as if you’re trying to understand a drop in your funnel
Sign in screen viewed
Sign in button clicked50%
Why!?
90% Authenticated
you may think…we screwed with the last update? let’s check out by version
app version Sign in screen viewed Sign in button clicked
2.0 200 100 (50%)
2.1 100 50 (50%)
but in some cases it can be what you expected least
screen orientation Sign in screen viewed Sign in button clicked
portrait 150 140 (93.3%)
landscape 150 10 (6.6%)
So.. here are some useful properties for your eventsAbout the app
- app version- app version number- version control sha1- unique install id- app settings
about the device (depends on your needs)
- bluetooth / bluetooth version- device brand / model / manufacturer - has nfc / telephony- os version / SDK level- screen orientation / size- wifi (on or off)- rooted (yes or not)- has network connectivity- system language- device class
properties that answer important questions for your app
in our case:
- is the user driving at that moment?- are key services running?- what is the TTS engine used?- has the user completed tutorials? which?- how many destinations a user has in they database?
Tips!Mixpanel eventsにオンデマンドにプロパティー設定する方法!
おまけに、Mixpanel APIをfluent interfaceにします!
https://gist.github.com/jfsso/1821fd5e3456b626b92f
people apimp.people()
.put("prop1", value)
.putWithSuper("notification setting", settingValue)
.increment("action count", 1)
.send();
on demand props!public class MixpanelEventPropertiesSetter implements Mixpanel.PropertiesSetter {
private Context mContext;
public MixpanelEventPropertiesSetter(Context context) {
mContext = context;
}
@Override public void execute(JSONObject props) throws JSONException {
props.put("App Version Code", BuildConfig.VERSION_CODE);
props.put("Device Year Class", YearClass.get(mContext));
props.put("Screen Orientation", ConfigurationUtils.getOrientationName(mContext));
}
}
Useful linksDevice Year Class (by Facebook)https://github.com/facebook/device-year-class
Puree (by Cookpad)https://github.com/cookpad/puree-android
Mixpanelhttps://github.com/mixpanel/mixpanel-android