Cómo integrar Google Analytics en la aplicación para Android

Hola, estoy intentando integrar Google Analytics pero no puedo encontrar datos analíticos que aparezcan en la cuenta de Google Analytics. Estoy usando la mención de enlace a continuación: –

Developers.google.com link 1

Algún enlace 1

Algún enlace 2

Developer.google link 2

Pero no soy capaz de obtener el resultado, ni la ruta / camino correcto o Tutorial apropiado y detallado sobre cómo integrar Google Analytics en la aplicación para Android.

Mi código es el siguiente:

public class MainActivity extends Activity { GoogleAnalytics tracker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Get tracker. Tracker t = ((AnalyticsHelper) MainActivity.this.getApplication()).getTracker( TrackerName.APP_TRACKER); // Set the dispatch period in seconds. GAServiceManager.getInstance().setLocalDispatchPeriod(8); } @Override protected void onStart() { super.onStart(); EasyTracker.getInstance(this).activityStart(this); // Set the dispatch period in seconds. GAServiceManager.getInstance().setLocalDispatchPeriod(8); } @Override protected void onStop() { super.onStop(); EasyTracker.getInstance(this).activityStop(this); } } 

Mi clase de ayuda de Analytics es la siguiente:

 public class AnalyticsHelper extends Application { // The following line should be changed to include the correct property id. private static final String PROPERTY_ID = "UA-xxxxxxxx-x"; // My Property id. public static int GENERAL_TRACKER = 0; public enum TrackerName { APP_TRACKER, // Tracker used only in this app. GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking. ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company. } HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>(); public AnalyticsHelper() { super(); } synchronized Tracker getTracker(TrackerName trackerId) { if (!mTrackers.containsKey(trackerId)) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); analytics.getLogger().setLogLevel(LogLevel.VERBOSE); Tracker t = null; if(trackerId==TrackerName.APP_TRACKER){ t= analytics.getTracker(PROPERTY_ID); } mTrackers.put(trackerId, t); } return mTrackers.get(trackerId); } } 

Y mi archivo XML de análisis en el directorio xml es el siguiente: –

  <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes"> <!-- The following value should be replaced with correct property id. --> <string name="ga_trackingId">UA-xxxxxxxx-X</string> <!--Enable automatic activity tracking--> <bool name="ga_autoActivityTracking">true</bool> <!--Enable automatic exception tracking--> <bool name="ga_reportUncaughtExceptions">true</bool> </resources> 

Cualquier ayuda será bienvenida. Gracias por adelantado.

Bueno, el código anterior dado en la Pregunta funciona bien. Todo lo que necesitas hacer es después de configurar tu código y añadir el archivo Jar Descargar el archivo Jar de Google Analytics a tu Lib. Sólo esperar de 24 a 48 horas. Y mostraría todos los eventos y análisis de la aplicación que usted había registrado.

Respuesta editada: –

Una vez que haya creado su cuenta de Google Analytic y descargado el archivo Jar, agregue el archivo Jar en la carpeta lib de su aplicación

Implementación de Google Analytic: –

Bueno para la parte analítica Sólo necesita el archivo analytic.xml para ser incluido en su carpeta de valores que se menciona en la Pregunta.

A continuación, defina private EasyTracker easyTracker = null; En su MainActivity .

Y ahora en su onCreate(Bundle savedInstanceState) simplemente escriba las siguientes líneas de Code. Bueno, también puede escribir el siguiente código para cualquier Listners, por ejemplo, en cualquier botón de clic.

  /* *For Google Analytics... */ easyTracker = EasyTracker.getInstance(MainActivity.this); // It Tracks your Activity... easyTracker.send(MapBuilder.createEvent("SomeValue(StoryPage)", "SomeMoreValue(AuthorName) , "SomeMoreValueAgain(StoryTitle)", null).build()); //This line creates the event for keeping logs and other Analytical stuffs concerned to this Activity of Application... //In the above example we had Tracked the session for the MainActivity and also Analysed how many time this activity was opened, which Author story and which Story was read. 

Ahora en su onStart() , sólo escriba el siguiente código, inicia la sesión de Seguimiento y Análisis para su Actividad.

 EasyTracker.getInstance(this).activityStart(this); 

Y ahora en su onStop() , simplemente escriba el siguiente código, cerrará o detendrá la sesión de seguimiento de esta actividad.

 EasyTracker.getInstance(this).activityStop(this); 

Ahora puede seguir y analizar su aplicación y actividades en ella.

He detallado los pasos para integrar Google Analytics en una aplicación existente aquí . Cuando publico una nueva aplicación siempre vuelvo a estas instrucciones que funcionan bien.

  1. Fisrt tenemos que crear google analytics id de pista Goolge analytics iniciar sesión y activar api y obtener el ID de pista

  2. Después de que poner ese ID de pista en el código .xml por debajo


  <?xml version="1.0" encoding="utf-8"?> <resources> <integer name="ga_sessionTimeout">300</integer> <bool name="ga_autoActivityTracking">true</bool> <string name="ga_trackingId">"place your track id"</string> <string name="ga_sampleFrequency">100.0</string> <bool name="ga_reportUncaughtExceptions">true</bool> <screenName name="com.aquadeals.seller.HomeMainActivity">DashBoard Screen</screenName> 

3. Después de eso podemos cambiar el archivo de manifiesto muy importante para agregar este código debajo de Añadir permisos

4. Cambie el nombre de su aplicación a google analytics nombre de la clase ejemplo "MyApplication.java"

  <application android:name=".app.MyApplication" 

5. Después de eso agregue servicios para enviar y recibir eventos de difusión usando internet

  <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver" android:enabled="true"> <intent-filter> <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.AnalyticsService" android:enabled="true" android:exported="false" /> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> 
  1. Antes de estos cambios de manifiesto, agrega primero estas dos clases en tu aplicación.

Public class final AnalyticsTrackers {

 public enum Target {APP,} private static AnalyticsTrackers sInstance; public static synchronized void initialize(Context context) { if (sInstance != null) { throw new IllegalStateException("Extra call to initialize analytics trackers"); } sInstance = new AnalyticsTrackers(context); } public static synchronized AnalyticsTrackers getInstance() { if (sInstance == null) { throw new IllegalStateException("Call initialize() before getInstance()"); } return sInstance; } private final Map<Target, Tracker> mTrackers = new HashMap<Target, Tracker>(); private final Context mContext; private AnalyticsTrackers(Context context) { mContext = context.getApplicationContext(); } public synchronized Tracker get(Target target) { if (!mTrackers.containsKey(target)) { Tracker tracker; switch (target) { case APP: tracker = GoogleAnalytics.getInstance(mContext).newTracker(R.xml.app_tracker); break; default: throw new IllegalArgumentException("Unhandled analytics target " + target); } mTrackers.put(target, tracker); } return mTrackers.get(target); } 

}

Y Añada este AnalyticsApplication.java

 public class AnalyticsApplication extends MultiDexApplication 

{

 private Tracker mTracker; private static AnalyticsApplication mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; AnalyticsTrackers.initialize(this); AnalyticsTrackers.getInstance().get(AnalyticsTrackers.Target.APP); } synchronized public Tracker getDefaultTracker() { if (mTracker == null) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(AnalyticsApplication.this); mTracker = analytics.newTracker(R.xml.app_tracker); } return mTracker; } public synchronized Tracker getGoogleAnalyticsTracker() { AnalyticsTrackers analyticsTrackers = AnalyticsTrackers.getInstance(); return analyticsTrackers.get(AnalyticsTrackers.Target.APP); } public void trackEvent(String category, String action, String label) { Tracker t = getDefaultTracker(); t.send(new HitBuilders.EventBuilder().setCategory(category).setAction(action).setLabel(label).build()); } public static synchronized AnalyticsApplication getInstance() { return mInstance; } public void trackScreenView(String screenName) { Tracker t = getGoogleAnalyticsTracker(); t.setScreenName(screenName); t.send(new HitBuilders.ScreenViewBuilder().build()); GoogleAnalytics.getInstance(this).dispatchLocalHits(); } public void trackException(Exception e) { if (e != null) { Tracker t = getGoogleAnalyticsTracker(); t.send(new HitBuilders.ExceptionBuilder() .setDescription( new StandardExceptionParser(this, null) .getDescription(Thread.currentThread().getName(), e)) .setFatal(false) .build() ); } } 

}

  1. Y por último podemos agregar código en su clase mainactivity.java o las clases requeridas Initialize Step1

    Aplicación AnalyticsApplication1;

    Rastreador privado mTracker;

    Paso 2

    Application1 = (AnalyticsApplication) getApplication ();

    MTracker = application1.getDefaultTracker ();

Si ejecuta este código en google analytics mostrando el nombre de pantalla que mencionó en xml.

Paso: 3 Agregue este código para el evento de pista

 mTracker.send(new HitBuilders.EventBuilder() .setCategory("DashBoard ") .setAction("View Bookings Pressed") .build()); 

Paso: 4 Código de conducta de excepción de pista agregar en bloque de captura

  catch (Exception e) { ** AnalyticsApplication.getInstance().trackException(e);** e.printStackTrace(); } 

Codificación feliz

  • Longitud de sesión corta en Google Analytics para Android
  • Cómo utilizar libGoogleAnalyticsV2.jar con Android Studio
  • Android "No se pudo encontrar el método android.app.Notification $ Builder.setLocalOnly"
  • Android google analytics easytracker - pista evento llamada en onCreate método de lanzador actividad bloquea
  • ¿Qué significa "visitante único" en el contexto de Google Analytics en Android?
  • Seguimiento de eventos de Google Analytics: longitud de cadena máxima
  • Asegúrate de que la aplicación de Android se haya instalado desde Play-Store
  • Ver el valor de evento de Google Analytics
  • Obtener informe de fallos en google analytics
  • Adición de Analytics de Firebase y Google Analytics en la aplicación para Android
  • Google Tag Manager no se ve en Google Analytics
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.