SlayerOrnstein / dart-matomo

A Dart Matomo Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

matomo

A Dart Client for Matomo. This is completely written in Dart and works cross-platform, including web.

Getting Started

dependencies:
    matomo: ^0.0.10

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.

Opting Out

If you want to offer a way for the user to opt-out of analytics, you can use the setOptOut() call.

MatomoTracker().setOptOut(true);

About

A Dart Matomo Client

License:MIT License


Languages

Language:Dart 79.8%Language:HTML 8.9%Language:Ruby 8.0%Language:Swift 2.4%Language:Kotlin 0.7%Language:Objective-C 0.2%