Latest Version
September 24, 2020 - v5.8.5
Table of Contents
Quick Start Guide
Check out our official documentation for more in depth information on installing and using Mixpanel on Android.
Installation
Dependencies in app/build.gradle
Add the following lines to the dependencies
section in app/build.gradle
implementation "com.mixpanel.android:mixpanel-android:5.+"
implementation "com.google.firebase:firebase-messaging:17.3.4" // optional, if push notifications are used
implementation "com.android.installreferrer:installreferrer:1.1" // optional, if you want to know how users installed your app
Permissions in app/src/main/AndroidManifest.xml
<!-- This permission is required to allow the application to send events and properties to Mixpanel -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- This permission is optional but recommended so we can be smart about when to send data -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- This permission is optional but recommended so events will contain information about bluetooth state -->
<uses-permission android:name="android.permission.BLUETOOTH" />
Integration
Initialization
Initialize Mixpanel in your main activity app/src/main/java/com/mixpanel/example/myapplication/MainActivity.java. Usually this should be done in onCreate.
String projectToken = YOUR_PROJECT_TOKEN; // e.g.: "1ef7e30d2a58d27f4b90c42e31d6d7ad"
MixpanelAPI mixpanel = MixpanelAPI.getInstance(this, projectToken);
Remember to replace YOUR_PROJECT_TOKEN
with the token provided to you on mixpanel.com.
Tracking
After installing the library into your Android app, Mixpanel will automatically collect common mobile events. You can enable/ disable automatic collection through your project settings.
With the mixpanel
object created in the last step a call to track
is all you need to send additional events to Mixpanel.
mixpanel.track("Event name no props")
JSONObject props = new JSONObject();
props.put("Prop name", "Prop value");
props.put("Prop 2", "Value 2");
mixpanel.track("Event name", props);
I want to know more!
No worries, here are some links that you will find useful:
Have any questions? Reach out to [email protected] to speak to someone smart, quickly.
Want to Contribute?
The Mixpanel library for Android is an open source project, and we'd love to see your contributions! We'd also love for you to come and work with us! Check out our opening positions for details.
Changelog
See wiki page.
License
See LICENSE File for details. The Base64Coder,
ConfigurationChecker, and StackBlurManager classes, and the entirety of the
com.mixpanel.android.java_websocket package used by this
software have been licensed from non-Mixpanel sources and modified
for use in the library. Please see the relevant source files, and the
LICENSE file in the com.mixpanel.android.java_websocket package for details.
The StackBlurManager class uses an algorithm by Mario Klingemann <[email protected]>
You can learn more about the algorithm at
http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html.