Skip to content

Version 4.0.0

Compare
Choose a tag to compare
@matus-tomlein matus-tomlein released this 01 Sep 09:22
· 125 commits to master since this release

These releases bring two exciting new features to the trackers: support for hybrid apps, and anonymous tracking.

Support for hybrid apps enables tracking Snowplow events in Web views. The iOS and Android trackers communicate with the WebView tracker that can be installed in Web apps to track events. This enables events to share the same session and context entities as events tracked using the native mobile trackers!

Anonymous tracking is a tracker feature that enables anonymising various user and session identifiers to support user privacy in case consent for tracking the identifiers is not given. Similar to the JavaScript tracker, the mobile trackers let you configure user anonymisation (using the userAnonymisation flag in TrackerConfiguration) to anonymise user identifiers in session and platform context and server anonymisation (using the serverAnonymisation flag in EmitterConfiguration) to anonymise the network_userid and user_ipaddress properties assigned by the Collector.

Other changes in the trackers include improvements in remote configuration that now supports switching between multiple remote configuration endpoints and gives feedback of where the configuration was retrieved from (from cache, default values or fetched over network). Additionally, the tracker.track(event) function now returns the event ID.

We are also excited to announce major improvements to the documentation that now gives more guidance on how to make use of all the tracker features!

CHANGELOG

Enhancements:

  • Add interface to subscribe for events tracked in Web views (#531)
  • Add anonymous tracking features (#540)
  • Return tracked event ID from the track method (#544)
  • Extend the onSuccess callback when setting up remote configuration to pass configuration state (#694)

Bug fixes:

  • Do not resume remote configuration from cache in case it has different endpoint (#533)

Under the hood:

  • Fix default session timeout values to 30 minutes everywhere (#542)