Google Analytics SDK for Android Changelog

This page documents any changes made to the Google Analytics SDK for Android. We recommend that you periodically check this list for any new announcements. You can also subscribe to changes via the feeds listed under the Subscribe section below.

Subscribe To Related Changelogs

Includes all Collection, Configuration, and Reporting APIs.

Includes Web Tracking (ga.js and analytics.js), Android SDK, iOS SDK, and Measurement Protocol.

This release contains:

Google Analytics

  • Added support for background dispatching on non-Google Play Devices.
  • Deprecated Analytics Logger/LogLevel. Analytics is now using Android logging instead. To enable debug logging run adb shell setprop log.tag.GAv4 DEBUG.
  • Refactoring to improve data delivery and install campaign attribution.
  • Campaign parsing bug fixed. Issue 596.
  • Unhandled app exceptions during the first seconds of the Analytics initialization are correctly reported. Issue 443.

Google Tag Manager

  • No changes.

This release contains:

Google Analytics

  • Minor bug fixes.

Google Tag Manager

This release contains:

Google Analytics

  • Support for enhanced ecommerce has been added. See the Enhanced Ecommerce Developer Guide for details.
  • The client ID will now reset every time the advertising ID is changed.
  • Advertising ID collection is off by default.
  • Added programmatic APIs for exception reporting.
  • Bug fixes in documentation.
  • Minor bug fixes.

Google Tag Manager

  • No changes to Google Tag Manager.

This release contains:

Google Analytics

  • No changes to Google Analytics.

Google Tag Manager

  • Added support for Google Analytics Content Experiments Macro.

This release contains: * Sixth beta release. * Made change required to avoid a runtime exception when an app targeting KitKat (API Level 19) uses the SDK.

This release contains: * Second release of version 3.0. * Made change required to avoid a runtime exception when an app targeting KitKat (API Level 19) uses the SDK.

This release contains: * First release of version 3.0 * SDK API rewritten to more closely align with analytics.js. See javadoc and /analytics/devguides/collection/android/v3/ for details. * All track and send methods removed. Instead, you can use the send method and the corresponding construct methods in the MapBuilder class to send hits. See the class Fields for a list of constants you can use to build hits using set and send. * Many of the various properties have also been removed, including useHttps, anonymizeIp, etc. You can set/reset those properties using the set command. * EasyTracker now extends Tracker. There is no need to call EasyTracker.getTracker to make tracking calls directly. * The SDK no longer sets the session control flag to start on startup. Developers are now responsible for determining if a new session is needed. Note that EasyTracker still handles session management as before. * The SDK now supports a custom logging class. See Logger in the javadoc for details. * dryRun mode has been added. * clientId can now be read. Simply call tracker.get(Fields.CLIENT_ID). This call will block until the clientId has been loaded from the persistent store. * The SDK will no longer retry hits based on the HTTP response code.

This release contains: * Fifth beta release. * EasyTracker exception parsing bug fix. When ga_reportUncaughtExceptions flag is set, we were not initializing the exception parser, and as a result not parsing the location of an uncaught exception. With this fix, the crash and exception reports will report the location of uncaught exceptions when ga_reportUncaughtExceptions is set to true.

This release contains: * Fourth beta release. * The SDK will now respect the sample rate setting. If you previously set the sample rate to other than 100% you will now see a corresponding decrease in some of your Analytics metrics compared with beta 3. * Changed track methods to send (e.g. trackView now called sendView). * Added local currency support via Transaction.setCurrencyCode * Use HTTPS by default instead of HTTP. * SDK will not attempt to dispatch hits if there is no network connectivity. * Avoid ANRs while attempting to handle install campaign data. * Removed TrackedActivity classes from the SDK. * Move SDK initialization off the main UI Thread. * Improve the SDK’s ability to recover from a corrupted SQLite database. * Several other crashes and bugs fixed.

This release contains:

  • Bug Fixes:
    • Fix migration from pre-1.5 SDK CVs to 1.5 SDK custom variables.
    • Honor user’s background data restrictions setting.

This release contains:

  • Bug Fixes:

    • Fix memory leak.
    • Events now include the last tracked page view (utmp).
  • New Features:

    • Support 50 custom variables (Note: this feature is available to Google Analytics Premium users only).

This release contains:

  • Added support for custom dimensions and metrics.
  • Added support for social interaction tracking.
  • Made StandardExceptionParser class public
  • Fixed occasional crashes during initialization of the SDK.
  • Fixed INSTALL_REFERRER broadcasts being ignored on some devices.
  • Fixed ConcurrentModificationExceptions in GoogleTracker class.
  • Other bugfixes and enhancements

This release contains:

  • Simplified EasyTracker interface.
  • Control of dispatching moved to a new class, GAServiceManager.
  • Updated to latest wire format.
  • sampleRate changed to double.
  • Excessive tracking is throttled.
  • Undispatched tracking information is deleted when opt-out is enabled.
  • Undispatched tracking information older than 30 days will be deleted.
  • Other bugfixes and enhancements.

This release contains:

  • startSession method has been removed. Use setStartSession instead.
  • Added ga_sessionTimeout parameter to EasyTracker.
  • Implemented power save mode.
  • Added trackView method to GAITracker which takes no argument.
  • Fixed a bug that prevented exception parameters from being sent on hits.
  • Hits that can’t be read from the database are discarded instead of permanently blocking all hits from being dispatched.
  • Updated to latest wire format.
  • Implemented timing hit type.
  • Implemented Ecommerce hit types (transaction and item).

This release contains:

  • Documentation:

    • The ReadMe.txt has been updated to point to the website for documentation.

This release contains:

  • Bug Fixes:
    • Fixed handling of Destination URL Autotracking from Google Play.
    • Allow the referrer parameter to setReferrer to be url-encoded.

This release contains:

  • Bug Fixes:
    • Trapped and handled several SQLiteExceptions.
    • Fixed NullPointerException in stopSession if called prior to calling startNewSession.
    • Fixed Out Of Memory errors on HTC Thunderbolt and Motorola Droid Bionic devices.
    • Eliminated unnecessary database access in the dispatch method.

This release contains:

  • Bug Fixes:
    • Fixed bug in general campaign referral tracking.
    • Fixed anonymizeIp flag interfering with campaign tracking.

This release contains:

  • Bug Fixes:
    • Fixed several issues in database handling.
    • Fixed exceptions while using custom variables.
    • Hold the application context instead of the context passed into it.
    • Removed the ability to accidently create phantom sessions.
  • New Features:
    • Added the ability to set campaign referrals at any time
    • Added sampleRate flag
    • Added anonymizeIp flag

This release contains:

  • Bug Fixes:

    • Fixed badly formatted userAgent String.
  • New Features:

    • Added support for Ecommerce tracking
    • Added debug flag
    • Added dryRun flag

This release contains:

  • Bug Fixes:

    • Fixed improper encoding of spaces.
    • SQLiteExceptions no longer cause apps to crash.
  • New Features:

    • Added support for custom variables