Android Analytics for Snowplow

Build Status Coverage Status Release License

Overview

Add analytics to your Java software with the Snowplow event tracker for Android. See also: Snowplow Java Tracker.

With this tracker you can collect event data from your Android applications, games or frameworks.

Quickstart

Building

Assuming git is installed, clone the project.

$ git clone https://github.com/snowplow/snowplow-android-tracker.git

Then open the project in Android Studio and finish the setup.

Testing

  1. Tests require a device, whether emulator-based or a real one.

  2. We need to run Snowplow Micro before running trackers' tests. Micro will provide an endpoint that our tests will interact with.

  3. Assuming Micro is running on localhost:9090, we need to make this endpoint publicly available. An option could be using an ssh-based service, serveo. Feel free to use any other tool serving the same purpose, like ngrok. The following is an example for serveo.

ssh -R 80:localhost:9090 serveo.net

which should print something similar to

Forwarding HTTP traffic from https://micro.serveo.net
  1. Copy the url without the scheme, micro.serveo.net in the example above, and insert a line to local.properties file as following:

    microSubdomain=micro.serveo.net
  2. Use Android Studio's capabilities to run tests or use gradlew CLI tool. e.g. At the root of the repository, run

    ./gradlew connectedCheck

Find out more

Technical Docs Quick Start Roadmap Contributing
i1 i2 i3 i4
Technical Docs Quick Start Roadmap Contributing

Older documentation can be found here.

Copyright and license

The Snowplow Android Tracker is copyright 2015-2019 Snowplow Analytics Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.