Releases: mixpanel/mixpanel-android
Id management improvements
Pass flag to backend indicating when $distinct_id might have been set to a pre-existing $distinct_id value instead of a generated UUID (used when resolving aliases)
Option to disable exception handler
You can now decide whether you want Mixpanel to report App Crashed
events or not. Add the following meta-tag to your AndroidManifest.xml
if you want to disable our exception handler:
<meta-data android:name="com.mixpanel.android.MPConfig.DisableExceptionHandler" android:value="true" />
Send device_id and user_id with event/people updates
- Events will have properties
$user_id
which is identified user and$device_id
which is how anonymous events are tracked as before identify was called. - People updates will also contain fields
$user_id
and$device_id
.
Bug fixes
Braze integration support
v5.4.1 New release: 5.4.1
GDPR support
Mixpanel helps you to be GDPR compliant. You can now disable and enable tracking at runtime by using new APIs we have written for you:
MixpanelAPI.getInstance(context, "TOKEN").optOutTracking()
- Removes any PII from the device and stops the SDK from tracking - See doc.
MixpanelAPI.getInstance(context, "TOKEN").optInTracking()
- Use this method to opt-in an already opted-out user from tracking. See doc.
MixpanelAPI.getInstance(context, "TOKEN").hasOptedOutTracking()
- Returns true if the user has opted out from tracking.
You can also initialize the SDK specifying a default tracking behavior (e.g do not track until optInTracking()
is called): See doc
MixpanelAPI mixpanelAPI = MixpanelAPI.getInstance(context, "TOKEN", true);
Release v5.3.1
Fixes
- Prevent double tracking for some experiments
- Prevent tweaks declaration before they have been explicitly declared in code. Fixes #531
- Fix in-app notification crash #516
Improvements:
- Tweaks are cleared after calling
reset()
now. - Added logic to prevent dup events at ingestion time
- Apply all editor changes at once when connected to Mixpanel UI builder
- Increase data expiration max time value
Change Mixpanel endpoints at runtime
You can now change Mixpanel endpoints at runtime by using the following APIs:
MPConfig.getInstance(this).setEventsEndpoint("https://myapp.company.com/trackendpoint/");
MPConfig.getInstance(this).setPeopleEndpoint("https://myapp.company.com/peopleendpoint/");
MPConfig.getInstance(this).setDecideEndpoint("https://myapp.company.com/decidepoint/");
If you wish to restore Mixpanel values you can use the following APIs:
MPConfig.getInstance(this).setMixpanelEventsEndpoint();
MPConfig.getInstance(this).setMixpanelPeopleEndpoint();
MPConfig.getInstance(this).setMixpanelDecideEndpoint();
(*) Remember that if you just need to override our endpoint always, you are safe by keep using the following meta-tags in your AndroidManifest.xml
<meta-data android:name="com.mixpanel.android.MPConfig.EventsEndpoint"
android:value="https://myapp.company.com/trackendpoint/" />
<meta-data android:name="com.mixpanel.android.MPConfig.PeopleEndpoint"
android:value="https://myapp.company.com/peopleendpoint/" />
<meta-data android:name="com.mixpanel.android.MPConfig.DecideEndpoint"
android:value="https://myapp.company.com/decidepoint/" />
Fix state loss transaction in-app fragment
- Fixes
IllegalStateException
when removing a mini in-app notification (#516)
Handle null properties and remove code
- Remove unused code
- Fix #505