Welcome to the Matomo Tracking SDK for Android. This library helps you send analytics data from Android apps to Matomo instances. Until v4 this library was known as Piwik Tracking SDK for Android.
Features:
- Caching and offline support
- Graceful reconnection handling
- WIFI-only mode
- Thread-safe support for multiple trackers
- Support for custom connection implementations
- Complete Matomo HTTP API support
- Checksum based app install/upgrade tracking
For the not so quick start, see here or look at our demo app
- Setup Matomo on your server.
- Include the library in your app modules
build.gradle
file via JitPack
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.matomo-org:matomo-sdk-android:<latest-version>'
}
- Now you need to initialize your
Tracker
. It's recommended to store it as singleton. You can extendMatomoApplication
or create and store aTracker
instance yourself:
import org.matomo.sdk.TrackerBuilder;
public class YourApplication extends Application {
private Tracker tracker;
public synchronized Tracker getTracker() {
if (tracker == null){
tracker = TrackerBuilder.createDefault("http://domain.tld/matomo.php", 1).build(Matomo.getInstance(this));
}
return tracker;
}
}
- The
TrackHelper
class is the easiest way to submit events to your tracker:
// The `Tracker` instance from the previous step
Tracker tracker = ((MatomoApplication) getApplication()).getTracker();
// Track a screen view
TrackHelper.track().screen("/activity_main/activity_settings").title("Settings").with(tracker);
// Monitor your app installs
TrackHelper.track().download().with(tracker);
- Something not working? Check here.
Android SDK for Matomo is released under the BSD-3 Clause license, see LICENSE.