We are very excited to announce the first release of our tracker for Flutter apps. The package is published on pub.dev as snowplow_tracker.
The tracker is built as a wrapper around our mature trackers for iOS, Android, and the Web (all in version 3). This provides it a solid and well-tested foundation with a range of features.
It brings the following functionality:
- Manual tracking of events: screen views, page views (on Web), self-describing, structured, timing, consent granted and withdrawal
- Automatic tracking of view events (page or screen view) from Flutter Navigator API
- Web activity tracking using page view and page ping events
- Mobile session context entity added to events (even on Web)
- Adding custom context entities to events
- Support for multiple trackers
- Configurable subject properties
- Geo-location context entity
- Mobile platform context entity (iOS, Android only)
- Web page context entity (Web only)
- Configurable GDPR context entity
Add the Snowplow tracker as a dependency to your Flutter application:
flutter pub add snowplow_tracker
This will add a line with the dependency like this to your
dependencies: snowplow_tracker: ^0.1.0
Import the package into your Dart code:
index.html file. Please load the JS tracker with the Snowplow tag as described in the official documentation. Do not change the global function name
snowplow that is used to access the tracker – the Flutter APIs assume that it remains the default as shown in documentation.
3.2 or newer. You may also refer to the example project in the Flutter tracker repository to see this in action.
Instantiate a tracker using the
SnowplowTracker tracker = await Snowplow.createTracker( namespace: 'ns1', endpoint: 'http://...' );
To track events, simply instantiate their respective types (e.g.,
Structured) and pass them to the
Please refer to the documentation for specification of event properties.
// Tracking a screen view event tracker.track(ScreenView( id: '2c295365-eae9-4243-a3ee-5c4b7baccc8f', name: 'home', type: 'full', transitionType: 'none'));
Check out the Snowplow Docs section for more information about setting up and using the tracker.
We are very keen to hear your feedback to shape the future releases of this tracker! Please feel free to open discourse topics with ideas, and add issues and bug reports to the repo.
We also welcome contributions and PRs. If in doubt, open an issue or a discourse post to ask about your contribution - important contributions - especially bugfixes - will be prioritised.