We recently released new major versions of our native mobile SDKs, that are easier to implement and now feature consistent APIs across the two platforms, iOS and Android. The new mobile trackers also introduce an easier approach for the configuration of the tracker, taking advantage of various configuration objects.
For more information on these releases, check out our technical documentation. We are currently working on porting these changes into our React Native tracker, and will be looking at a Flutter tracker later this year too!
This significant refactor of our native mobile trackers enables us to add new functionality more easily. Specifically, we want to enable more out of the box tracking, for example for push notifications and deep links. First however, we want to address some of the challenges around evolving your mobile tracking over time, and are now pleased to announce the release of remote configuration, i.e. the ability to configure your tracking from outside the application.
Evolving your tracking in mobile applications is challenging
Your mobile applications are likely constantly evolving, to improve user experience and increase conversions or reduce churn. This means what you track within your mobile applications needs to evolve as well. While Snowplow equips you well to make these changes by allowing you to define completely custom data structures, and version them to track changes over time, there are several challenges with continually deploying tracking changes on mobile. First, you need to borrow valuable mobile developer resources to get the changes implemented. Second, you need to wait for an app release and subsequent user app upgrades to propagate the changes. This also means any issues or mistakes that are not caught in testing cannot easily be reverted.
To alleviate these challenges, we are introducing functionality to enable the remote configuration of your Snowplow tracking.
You can now make changes to your Snowplow mobile tracking remotely
With release 2.1 of the mobile trackers, we are introducing remote configuration. This will allow you to configure your tracker initialisation as well as the out of the box tracking in a separate configuration file that is hosted, for example on S3 or GCS. From within the application, you then simply point to this configuration file. When a user opens the app, the tracker will request the configuration. If the user is offline, it will use the last cached configuration, and if this is the first time the user is opening the app, will fall back to a default configuration that can be provided within the tracking code in the application.
More specifically, you will be able to configure the following remotely:
- Network Configuration: the network connection with the Snowplow collector
- Tracker Configuration: contexts and automatic events, as well as general behaviour
- Session Configuration: session behaviour
- Subject Configuration: details to send with events about the user and platform
More information and configuration examples can be found in the technical documentation. To learn more about Snowplow’s approach to mobile analytics, check out our blog post on the topic, which is part of our 5-part series on mobile analytics.