Add Analytics to Your Android App

This guide shows how to add Analytics to your Android app to measure user activity to named screens. If you don't have an application yet and just want to see how Analytics works, take a look at our sample application.

Required: Latest versions of Android Studio and Google Play Services

Set up your project

Update your project's AndroidManifest.xml file to include the INTERNET and ACCESS_NETWORK_STATE permissions:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  <application android:name="AnalyticsApplication">

The Google Services plugin for Gradle parses configuration information from the google-services.json file. Add the plugin to your project by updating your top-level build.gradle and your app-level build.gradle files as follows:

  1. Add the dependency to your project-level build.gradle:
    classpath 'com.google.gms:google-services:1.5.0-beta2'
  2. Add the plugin to your app-level build.gradle:
    apply plugin: 'com.google.gms.google-services'

Now, you need to add a dependency for Google Play Services. Inside your app's build.gradle add:

compile 'com.google.android.gms:play-services-analytics:8.3.0'

Get a configuration file

Click the button below to get a configuration file to add to your project.

The configuration file provides service-specific information for your app. To get it, you must select an existing project for your app or create a new one. You'll also need to provide a package name for your app.

Get a Configuration File

Add the configuration file to your project

Copy the google-services.json file you just downloaded into the app/ or mobile/ directory of your Android Studio project. Open the Android Studio Terminal pane:

$ mv path-to-download/google-services.json app/
$ move path-to-download/google-services.json app/

Add screen tracking

Here you’ll send a named screen view to Analytics whenever the user opens or changes screens on your app. Your code should do the following:

  • Provide the shared tracker via an Application subclass.
  • Override the callback method for the foreground activity.
  • Provide a name for the screen and execute tracking.


You should subclass Application and provide a helper method that returns your application's tracker.

Activity or fragment

Open the Activity that you'd like to track. You could also track a Fragment, but ensure that it correctly represents a screen view.

Override the onCreate method of the Activity or Fragment you want to track to obtain the shared Tracker instance:

Override the appropriate method, such as onResume for an Activity or onPageSelected for a ViewPager to log when the screen changes.

Add tracking code to every Activity or Fragment that represents a screen. Be sure to set a name inside every Activity or Fragment if you want to differentiate between screen views for your app in Analytics. All activity recorded on the shared tracker sends the most recent screen name until replaced or cleared (set to null).

Send an event

To send an event, set the screen field values on the tracker, then send the hit. The following example uses the HitBuilders.EventBuilder to send an Event:

Next steps