En esta guía, se muestra cómo agregar Analytics a tu app para Android a fin de medir la actividad del usuario en las pantallas con nombre. Si aún no tienes una aplicación y solo quieres ver cómo funciona Analytics, consulta nuestra aplicación de ejemplo.
Obligatorio: Las versiones más recientes de lo siguiente:
Configura tu proyecto
Actualiza el archivo AndroidManifest.xml
de tu proyecto para incluir los permisos INTERNET
y 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>
Agrega la siguiente dependencia a tu build.gradle
a nivel de proyecto:
dependencies {
// ...
classpath 'com.google.gms:google-services:3.0.0'
}
Agrega la siguiente dependencia de los Servicios de Google Play a app/build.gradle
:
dependencies {
// ...
compile 'com.google.android.gms:play-services-analytics:10.2.4'
}
Crea global_tracker.xml
Crea el archivo app/src/res/xml/global_tracker.xml
con el siguiente contenido:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>
Reemplaza ${YOUR_TRACKING_ID}
por tu ID de seguimiento.
Agrega seguimiento de pantalla
Aquí, enviarás una vista de pantalla con nombre a Analytics cada vez que el usuario abra o cambie pantallas en tu app. Tu código debe hacer lo siguiente:
- Proporciona el seguimiento compartido a través de una subclase Application.
- Anula el método de devolución de llamada para la actividad en primer plano.
- Proporciona un nombre para la pantalla y ejecuta el seguimiento.
Application
Debes crear la subclase Application
y proporcionar un método de ayuda que muestre el rastreador de tu aplicación.</>
/*
* 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;
}
}
Actividad o fragmento
Abre la actividad de la que deseas hacer un seguimiento. También puedes hacer el seguimiento de un Fragment
, pero asegúrate de que represente correctamente una vista de pantalla.
Anula el método onCreate
de Activity
o Fragment
de los que deseas realizar un seguimiento para obtener la instancia Tracker
compartida:
// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
Anula el método apropiado, como onResume
para un Activity
o onPageSelected
para un ViewPager
para registrar cuando cambia la pantalla.
Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
Agrega el código de seguimiento a cada Activity
o Fragment
que represente una pantalla. Asegúrate de establecer un nombre dentro de cada Activity
o Fragment
si deseas diferenciar entre las vistas de pantalla de tu app en Analytics. Toda la actividad registrada en el monitor compartido envía el nombre de pantalla más reciente hasta que se reemplaza o se borra (se establece en null
).
Envía un evento
Para enviar un evento, configura los valores de los campos de la pantalla en el rastreador y, luego, envía el hit.
En el siguiente ejemplo, se usa HitBuilders.EventBuilder
para enviar un Event
:
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Action")
.setAction("Share")
.build());
Próximos pasos
Lee la Guía de implementación de apps para dispositivos móviles si quieres aprender a usar Google Analytics para medir las interacciones de los usuarios y responder preguntas sobre el uso de la app.
Revisa las opciones de configuración adicionales, como el muestreo, las pruebas y la depuración, la configuración de inhabilitación, etcétera.
Si tu app necesita recopilar identificadores de publicidad, habilita sus funciones publicitarias.