Skip to content

Releases: mixpanel/mixpanel-android

Handle null properties and remove code

04 Jan 19:45
Compare
Choose a tag to compare

Urban Airship integration support + bug fixes

12 Dec 03:51
Compare
Choose a tag to compare

New features

Fixes

  • Fix NullPointerException on Pair.hashCode(): #507 and #515

Various tweak improvements

10 Oct 00:42
Compare
Choose a tag to compare

Fixes

  • When running an experiment with multiple tweaks, only one was applied.

Improvements

  • We now persist variants as soon as the SDK receives them. In our previous release we relied on the call of joinExperimentsIfAvailable() method.
  • We now apply persisted tweaks even if they are not declared yet.

Android O and AB Test persistency support

23 Sep 21:09
Compare
Choose a tag to compare

New features

  • We now persist Tweaks and AB test experiments!
  • Android Oreo support. If you want to customize your notifications channel for devices running 26 or above you can use the following new keys:
<meta-data android:name="com.mixpanel.android.MPConfig.NotificationChannelId"
                   android:value="mixpanel_id" />

<meta-data android:name="com.mixpanel.android.MPConfig.NotificationChannelName"
                   android:value="mixpanel" />

<meta-data android:name="com.mixpanel.android.MPConfig.NotificationChannelImportance"
                   android:value="4" /> <!-- IMPORTANCE_HIGH -->
<meta-data android:name="com.mixpanel.android.MPConfig.UseIpAddressForGeolocation"
                   android:value="false" />
  • You can now specify maximum and minimum values for your tweaks with longTweak intTweak doubleTweak and floatTweak.

Fixes

  • Fix SecurityException crash on some Samsung devices running 7.0 due to missing BLUETOOTH permission (fixes #424)
  • Call onMixpanelTweakUpdated only after tweaks are updated (fixes #472)
  • Fix random crash on emulators (#417)
  • Fix crash using mini in-app notifications when trying to remove a notification while the activity was being destroyed (fixes #400)
  • Fix crash if we tried to show an in-app before people.identify() is called (fixes #449)
  • Fix BadParceableException for activities with unparceable intents (fixes #251)
  • Specify locale to calculate session length so session lengths are always in seconds.

Improvements

  • Various AB tests and Codeless events improvements (see PR for more details #492)
  • Remove fallback urls support. The following meta-tags won't have any effect:
com.mixpanel.android.MPConfig.DisableFallback
com.mixpanel.android.MPConfig.EventsFallbackEndpoint 
com.mixpanel.android.MPConfig.DecideFallbackEndpoint 
com.mixpanel.android.MPConfig.PeopleFallbackEndpoint
  • Change thread priority from THREAD_PRIORITY_LESS_FAVORABLE to THREAD_PRIORITY_BACKGROUND
  • Track whether the user tapped on the primary or secondary button in an in-app notification. We also now track $campaign_open even if there is no cta url
  • Cast campaign_id and message_id to integers

Prevent in-app notifications from showing more than once

24 Jun 00:10
Compare
Choose a tag to compare

Tracking notification journeys

19 Jun 23:47
Compare
Choose a tag to compare

We added support for tracking Mixpanel smart notifications (#467)

Fix memory leak and add eventElapsedTime method

06 Jun 21:02
Compare
Choose a tag to compare
  • Fix memory leak #463
  • Add eventElapsedTime() API to retrieve the time elapsed for the named event since timeEvent() was called.

MinimumSessionDuration and SessionTimeoutDuration fix

27 May 02:20
Compare
Choose a tag to compare

Automatic tracking of common mobile events

23 May 00:42
Compare
Choose a tag to compare

With this release we are adding automatic tracking of common mobile events.
These events include tracking app sessions, first app opens, app updated, and app crashed.

The feature will be rolled out slowly to all our users, and can be turned on in Project settings under Autotrack.

To configure the tracking of app sessions, we now expose two new configurations to provide lower and upper bounds on the session lengths that your app will track. For example, to only track app sessions with a minimum duration of 3 seconds and maximum duration of 5 minutes:

<meta-data android:name="com.mixpanel.android.MPConfig.MinimumSessionDuration"
            android:value="3000" />
<meta-data android:name="com.mixpanel.android.MPConfig.SessionTimeoutDuration"
            android:value="300000" />

Fix crash when takeover activity is not defined in the AndroidManifest.xml

24 Apr 19:43
Compare
Choose a tag to compare

As a reminder, if you are using 5.0.0 or later you should define the following on your AndroidManifest.xml:

<activity android:name="com.mixpanel.android.takeoverinapp.TakeoverInAppActivity"
          android:theme="@style/com_mixpanel_android_TakeoverInAppActivityTheme"/>

Previous versions use a different activity and theme:

<activity android:name="com.mixpanel.android.surveys.SurveyActivity"
          android:theme="@style/com_mixpanel_android_SurveyActivityTheme"/>