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
Leia o Guia de implementação de aplicativos para dispositivos móveis e saiba como usar o Google Analytics para avaliar as interações dos usuários e responder a perguntas sobre o uso do aplicativo.
Consulte outras opções de configuração, como amostragem, testes e depuração, as configurações de desativação etc.
Caso seu app precise coletar identificadores de publicidade, ative os Recursos de publicidade.