A Dart Client for Matomo. This is completely written in Dart and works cross-platform, including web.
dependencies:
matomo: ^0.1.2
As early as possible in your application you need to configure the Matomo Tracker to pass the URL endpoint of your instance and your Site ID.
await MatomoTracker().initialize(
siteId: siteId,
url: 'https://example.com/piwik.php',
);If you need to use your own Visitor ID, you can pass it at the initialization of MatomoTracker as is:
await MatomoTracker().initialize(
siteId: siteId,
url: 'https://example.com/piwik.php',
visitorId: 'customer_1',
);To track views simply replace StatelessWidget by TraceableStatelessWidget, StatefulWidget by TraceableStatefulWidget and finally InheritedWidget by TraceableInheritedWidget.
You can also optionally call directly trackScreen or trackScreenWithName to track a view.
For tracking goals and events call trackGoal and trackEvent respectively.
If you want to offer a way for the user to opt-out of analytics, you can use the setOptOut() call.
MatomoTracker().setOptOut(true);