The Snowplow Java Tracker lets you add analytics to your Java-based desktop and server apps, servlets and games.
📄️ Installation and set-up
📄️ Tracking events
To track an event, pass an Event instance to the Tracker.
📄️ Custom tracking using schemas
Self-describing (self-referential) JSON schemas are at the core of Snowplow tracking. Read more about them here. They allow you to track completely customised data, and are also used internally throughout Snowplow pipelines.
📄️ Tracking specific client-side properties
An event describes a single, transient activity. The context in which that event occurs - the relatively persistent environment - is also incredibly valuable data. As discussed on the previous page, the most powerful way to track such data is to use custom self-describing JSON entities. These are sent as JSON in the raw event payload. Depending on your data warehouse, event context entities are loaded into their own tables, or remain as JSON in the loaded event.
📄️ Configuring how events are sent
A user interacts with your app: an event is generated and tracked using Tracker.track(). But the event must be sent to your event collector, to enter your pipeline, before it has any value.
📄️ What do Java tracker events look like?
See Tracking events to learn how to track events with the Java tracker.
📄️ Using multiple trackers in one app
Rarely, a tracking implementation may benefit from instantiating multiple Java trackers, each with a different configuration. This will not be appropriate for most Snowplow users.
🔗 API reference
🗃️ Migration guides
📄️ Example Applications
Check out the following example applications that can be used as a reference for how to use the tracker, or as a starting point for your own implementation.
🗃️ Previous versions