En esta guía, se muestra cómo agregar Analytics a tu app para Android a fin de medir la actividad del usuario en pantallas con nombre. Si aún no tienes una aplicación y solo quieres ver cómo funciona Analytics, revisa 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 a app/build.gradle
la siguiente dependencia de los Servicios de Google Play:
dependencies {
// ...
compile 'com.google.android.gms:play-services-analytics:10.2.4'
}
Cómo crear 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.
Agregar seguimiento de pantalla
Aquí enviarás una vista de pantalla con nombre a Analytics cada vez que el usuario abra o cambie de pantalla en tu app. Tu código debería hacer lo siguiente:
- Proporcionar el rastreador compartido a través de una subclase Application
- Anula el método de devolución de llamada para la actividad en primer plano.
- Asigna un nombre a la pantalla y ejecuta el seguimiento.
Aplicación
Debes subclasificar Application
y proporcionar un método auxiliar 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 realizar el seguimiento de una Fragment
, pero asegúrate de que represente correctamente una vista de pantalla.
Anula el método onCreate
del 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 cambie 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 vistas de pantalla para tu app en Analytics. Toda la actividad registrada en el rastreador 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, establece los valores de campo 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 a fin de 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, la prueba y la depuración, la configuración de inhabilitación, etcétera.
Si tu app necesita recopilar identificadores de publicidad, habilita las funciones publicitarias para ella.