Integrations for Android

Google Analytics

Taplytics logs experiment/variation info to the Google Analytics SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

for (String experiment : experimentsAndVariations.keySet()) {
    googleTracker.set(experiment,experimentsAndVariations.get(experiment));
}

Flurry

Taplytics logs experiment/variation events to the Flurry Android SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

FlurryAgent.logEvent("TL_Experiments", experimentsAndVariations)

MixPanel

As of SDK version 2.10.1, Taplytics sets experiment/variation data to the Mixpanel Android SDK as a super property called TL_Experiments. The super properties contain an array of strings with the format:

["Experiment 1":"Variation3", "Experiment 2": "Variation 9", ...]

For SDK versions 2.10.0 and below, Taplytics logs experiment/variation events to the Mixpanel Android SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

mixpanel.registerSuperProperties("TL_Experiments", experimentsAndVariations)

Please note that the automatic tracking of MixPanel events into Taplytics does not work for Android Mixpanel versions 5+


Amplitude

As of SDK version 2.9.0, Taplytics sets experiment/variation data to the Amplitude iOS SDK as a user property called TL_Experiments. The user properties contain an array of strings with the format:

["Experiment 1":"Variation3", "Experiment 2": "Variation 9", ...]

For SDK versions 2.8.3 and below, Taplytics logs experiment/variation events to the Amplitude Android SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

Amplitude.getInstance().logEvent("TL_Experiments", experimentsAndVariations)

Adobe

Taplytics logs experiment/variation events to the Adobe Omniture Android SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

Analytics.trackAction("TL_Experiments", experimentsAndVariations)

Localytics

Taplytics logs experiment/variation events to the Amplitude Android SDK as follows:

HashMap<String, String> experimentsAndVariations = new HashMap<>();
experimentsAndVariations.put("Experiment 1", "Variation 1");
experimentsAndVariations.put("Experiment 2", "Variation 3");

Localytics.tagEvent("TL_Experiments", experimentsAndVariations)

Segment

Taplytics logs each experiment and variation to segment individually along with their experiment and variation ids.

While the following isn't exactly how Taplytics handles the data, it serves to give you an idea of how experiment/variation data is sent to Segment.

HashMap experiment1 = new HashMap
experiment1.put("experiment_name", "Experiment 1");
experiment1.put("experiment_id", "51353414351143");
experiment1.put("variation_name", "Variation 2");
experiment1.put("variation_id", "4919491294129");

Analytics.with(context).track("Experiment Viewed", new Properties().putAll(experiment1));