Este guia mostra como adicionar o Google Analytics ao seu aplicativo para Android com o objetivo de avaliar a atividade do usuário em telas nomeadas. Se você não tiver um aplicativo ainda e só quiser ver como funciona o Google Analytics, confira nosso aplicativo de exemplo.
Obrigatório: versões mais recentes do Android Studio e do Google Play Services.
Configuração do projeto
Atualize o arquivo AndroidManifest.xml
do seu 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 seguinte dependência ao arquivo build.gradle
no nível do projeto:
dependencies { // ... classpath 'com.google.gms:google-services:3.0.0' }
Adicione a seguinte dependência ao arquivo app/build.gradle
no Google Play Services:
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ê envia uma exibição de tela nomeada ao Google Analytics sempre que o usuário abre ou muda de telas no seu aplicativo. Seu código deve 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ê deve 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 ele precisa representar corretamente a exibição de tela.
Substitua o método onCreate
da Activity
ou do Fragment
que você deseja acompanhar para acessar a instância do Tracker
compartilhado:
// Obtain the shared Tracker instance. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker();
Substitua o método apropriado, como onResume
para uma Activity
ou onPageSelected
para um ViewPager
com a finalidade de registrar quando a tela muda.
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 dentro de cada Activity
ou Fragment
se você quiser diferenciar exibições de tela para seu aplicativo no Google Analytics. Todas as atividades gravadas no rastreador compartilhado enviam o nome de tela mais recente até que ele seja substituído ou apagado (definido como null
).
Envio de 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 para saber como usar o Google Analytics para avaliar as interações do usuário e responder a perguntas sobre o uso do aplicativo.
- Consulte as opções de configuração adicionais, como amostragem, testes e depuração, as configurações de desativação etc.
- Se o aplicativo precisar coletar identificadores de publicidade, ative os Recursos de publicidade dele.