Repository navigation
Android Integration 0.4.0
This page refers to integration samples for Android Tracker v0.4.0. This assumes you have already successfully gone through the Setup Guide for setting up all the dependencies for the tracker.
The following example classes are using the bare minimum of settings for building a Tracker. It is encouraged to flesh out the options for the Tracker and Emitter builders.
You will need to have imported the following library into your project:
dependencies {
...
// Snowplow Android Tracker Classic
compile 'com.snowplowanalytics:snowplow-android-tracker-classic:0.4.0'
}Example class to return an Android Classic Tracker:
import com.snowplowanalytics.snowplow.tracker.*;
import android.content.Context;
public class TrackerBuilderClassic {
public static Tracker getClassicTracker(Context context) {
Emitter emitter = getClassicEmitter(context);
Subject subject = getSubject(context); // Optional
return new Tracker
.TrackerBuilder(emitter, "your-namespace", "your-appid",
com.snowplowanalytics.snowplow.tracker.classic.Tracker.class)
.subject(subject) // Optional
.build();
}
private static Emitter getClassicEmitter(Context context) {
return new Emitter
.EmitterBuilder("notarealuri.fake.io", context,
com.snowplowanalytics.snowplow.tracker.classic.Emitter.class)
.build();
}
private static Subject getSubject(Context context) {
return new Subject
.SubjectBuilder()
.context(context)
.build();
}
}You will need to have imported the following library into your project:
dependencies {
...
// Snowplow Android Tracker Rx
compile 'com.snowplowanalytics:snowplow-android-tracker-rx:0.4.0'
}Example class to return an Android RxJava Tracker:
import com.snowplowanalytics.snowplow.tracker.*;
import android.content.Context;
public class TrackerBuilderRx {
public static Tracker getRxTracker(Context context) {
Emitter emitter = getRxEmitter(context);
Subject subject = getSubject(context); // Optional
return new Tracker
.TrackerBuilder(emitter, "your-namespace", "your-appid",
com.snowplowanalytics.snowplow.tracker.rx.Tracker.class)
.subject(subject) // Optional
.build();
}
private static Emitter getRxEmitter(Context context) {
return new Emitter
.EmitterBuilder("notarealuri.fake.io", context,
com.snowplowanalytics.snowplow.tracker.rx.Emitter.class)
.build();
}
private static Subject getSubject(Context context) {
return new Subject
.SubjectBuilder()
.context(context)
.build();
}
}Once you have successfully built your Tracker object you can track events with calls like the following:
Tracker tracker = getClassicTracker(context);
tracker.trackScreenView("someScreenName", "someScreenId");For an outline of all available tracking combinations have a look here.
Home | About | Project | Setup Guide | Technical Docs | Copyright © 2012-2017 Snowplow Analytics Ltd
HOME » TECHNICAL DOCUMENTATION
1A. Trackers
Overview
ActionScript3 Tracker
Android Tracker
Arduino Tracker
CPP Tracker
Golang Tracker
Google AMP Tracker
iOS Tracker
Java Tracker
JavaScript Tracker
Lua Tracker
.NET Tracker
Node.js Tracker
PHP Tracker
Pixel Tracker
Python Tracker
Ruby Tracker
Scala Tracker
Unity Tracker
Building a Tracker
1B. Webhooks
Iglu webhook adapter
CallRail webhook adapter
MailChimp webhook adapter
Mandrill webhook adapter
PagerDuty webhook adapter
Pingdom webhook adapter
SendGrid webhook adapter
Urban Airship Connect webhook adapter
2. Collectors
Overview
Cloudfront collector
Clojure collector (Elastic Beanstalk)
Scala Stream Collector
3. Enrich
Overview
EmrEtlRunner
Stream Enrich
Scala Hadoop Shred
Hadoop Event Recovery
C. Canonical Snowplow event model
4. Storage
Overview
Storage in S3
Storage in Redshift
Storage in PostgreSQL
Storage in Infobright (deprecated)
The StorageLoader
D. Snowplow storage formats (to write)
5. Analytics
Analytics-documentation
Event-manifest-populator
Common
Shredding
Artifact repositories