Adicionar o Google Analytics ao seu app para Android

Este guia mostra como adicionar o Analytics ao seu app Android para medir a atividade do usuário em telas nomeadas. Se você não tiver um aplicativo ainda e só quiser ver como o Google Analytics funciona, confira nosso aplicativo de exemplo.

Obrigatório: versões mais recentes de:

Configurar seu projeto

Atualize o arquivo AndroidManifest.xml do projeto para incluir as permissões INTERNET e ACCESS_NETWORK_STATE:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.analytics">

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

  <application android:name="AnalyticsApplication">
    ...
  </application>
</manifest>

Adicione a dependência abaixo ao arquivo build.gradle no nível do projeto:

dependencies {
  // ...
  classpath 'com.google.gms:google-services:3.0.0'
}

Adicione a seguinte dependência no Google Play Services a app/build.gradle:

dependencies {
  // ...
  compile 'com.google.android.gms:play-services-analytics:10.2.4'
}

Criar o arquivo global_tracker.xml

Crie o arquivo app/src/res/xml/global_tracker.xml com o seguinte conteúdo:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>

Substitua ${YOUR_TRACKING_ID} pelo seu ID de acompanhamento.

Adicionar o acompanhamento de telas

Aqui, você vai enviar uma exibição de tela nomeada ao Google Analytics sempre que o usuário abrir ou mudar de tela no seu app. Seu código precisa fazer o seguinte:

  • Fornecer o rastreador compartilhado por meio de uma subclasse de aplicativo.
  • Substituir o método de retorno de chamada para a atividade em primeiro plano.
  • Fornecer um nome para a tela e executar o acompanhamento.

Aplicativo

Você precisa acessar a subclasse Application e fornecer um método auxiliar que retorne o rastreador do seu aplicativo.</>

/*
 * Copyright Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * 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.
 */

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;

/**
 * This is a subclass of {@link Application} used to provide shared objects for this app, such as
 * the {@link Tracker}.
 */
public class AnalyticsApplication extends Application {

  private static GoogleAnalytics sAnalytics;
  private static Tracker sTracker;

  @Override
  public void onCreate() {
    super.onCreate();

    sAnalytics = GoogleAnalytics.getInstance(this);
  }

  /**
   * Gets the default {@link Tracker} for this {@link Application}.
   * @return tracker
   */
  synchronized public Tracker getDefaultTracker() {
    // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
    if (sTracker == null) {
      sTracker = sAnalytics.newTracker(R.xml.global_tracker);
    }

    return sTracker;
  }
}

Atividade ou fragmento

Abra a atividade que você quer acompanhar. Você também pode acompanhar um Fragment, mas verifique se ele representa corretamente uma exibição de tela.

Substitua o método onCreate da Activity ou do Fragment que você quer rastrear para acessar a instância Tracker compartilhada:

// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();

Substitua o método adequado, por exemplo, onResume para um Activity ou onPageSelected para um ViewPager para registrar quando a tela mudar.

Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());

Adicione o código de acompanhamento a cada Activity ou Fragment que representa uma tela. Defina um nome em cada Activity ou Fragment se você quiser diferenciar as exibições de tela do seu aplicativo no Google Analytics. Toda atividade gravada no rastreador compartilhado envia o nome de tela mais recente até ser substituído ou apagado (definido como null).

Enviar um evento

Para enviar um evento, defina os valores dos campos de tela no rastreador e envie o hit. O exemplo a seguir usa o HitBuilders.EventBuilder para enviar um Event:

mTracker.send(new HitBuilders.EventBuilder()
    .setCategory("Action")
    .setAction("Share")
    .build());

Próximas etapas