Read on below for:
1. Tracker diagnostics
The tracker diagnostics feature adds the ability for the tracker to report logs to the main app (GitHub issue #407).
The tracker already managed errors internally, avoiding crashes of the app and assuring that no events are lost. The tracker could also report the errors to a configured Snowplow collector as
diagnostic_error events (this was introduced in version 1.4.0).
This new feature allows the app to get the tracker logs, and you can decide which log level you want to filter logs to when you configure the tracker:
TrackerBuilder trackerBuilder = new TrackerBuilder(emitter, namespace, appId, appContext) ... .level(LogLevel.VERBOSE) ... .build(); Tracker.init(trackerBuilder);
There are four levels of logging: off (log disabled), error, debug, verbose. More information on this can be found in the technical documentation.
2. Rectoring the Emitter
The Emitter is now split it into three parts (GitHub issue #409):
EventStore: handles the persistence of tracked events not yet sent to the collector
NetworkConnection: establishes the connection with the collector and performs the requests
Emitter: handles dispatching, i.e. aggregation of events into a single request and backoff and retry of failed requests
The Emitter API is still the same, so the
EventStore and the
NetworkConnection can be configured automatically by the Emitter from the
Emitter configuration. However, this setup improves testing and makes it easier to add new functionality in the future.
As always, information about how to use the tracker can be found in the Android Tracker documentation.
You can find the full release notes on GitHub as Snowplow Android Tracker v1.6.0 release.
4. Getting help
For help on integrating the tracker please have a look at the setup guide. If you have any questions or run into any problems, please visit our Discourse forum. Please raise any bugs in the Android Tracker’s issues on GitHub.