L’API Google Analytics v4 pour Android n’envoie pas de vues d’écran.

J’ai défini toutes les choses pour Google Analytics Api v4 comme indiqué ici:
https://developers.google.com/analytics/devguides/collection/android/v4/
et ici: http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html

Je peux voir les données en temps réel, mais je ne pouvais PAS voir les écrans, les utilisateurs actifs, les nouveaux utilisateurs et les principaux modèles de périphériques au cours d’une période donnée, telle que “Tout le temps”.

Analytic n’envoie pas de vues d’écran.

Voici mon global_tracker.xml

UA-XXXXXXXX-Y 300 true true Screen 1 Screen 2 

Voici mon AndroidManifest.xml

    

Voici mes Analytics.java

 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. } HashMap mTrackers = new HashMap(); public Analytics() { super(); } public synchronized Tracker getTracker(TrackerName trackerId) { if (!mTrackers.containsKey(trackerId)) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); if (trackerId == TrackerName.GLOBAL_TRACKER) { mTrackers.put(trackerId, analytics.newTracker(R.xml.global_tracker)); } } return mTrackers.get(trackerId); } 

Voici mon cours d’ activité :

 protected void onCreate(Bundle bundle){ //...................... Tracker tracker = ((Analytics) getApplication()).getTracker(Analytics.TrackerName.GLOBAL_TRACKER); tracker.setScreenName("Main Activity"); tracker.send(new HitBuilders.AppViewBuilder().build()); //...................... } @Override protected void onStart() { super.onStart(); GoogleAnalytics.getInstance(this).reportActivityStart(this); } @Override protected void onStop() { super.onStop(); GoogleAnalytics.getInstance(this).reportActivityStop(this); } 

Le problème selon @stkent est que AppViewBuilder() est obsolète. Vous pouvez donc résoudre votre problème en supprimant cette ligne de code correspondant à votre cas. Et pour aider les personnes ayant le même problème après avoir supprimé cette ligne de code.

  tracker.send(new HitBuilders.AppViewBuilder().build()); 

et ajoutez ceci à la place

  @Override protected void onStart() { super.onStart(); GoogleAnalytics.getInstance(this).reportActivityStart(this); } @Override protected void onStop() { super.onStop(); GoogleAnalytics.getInstance(this).reportActivityStop(this); } 

dans chaque activité que vous souhaitez suivre

informations supplémentaires de Google Doc sur ces 2 méthodes

 reportActivityStop reportActivityStart 

en utilisant cela avec le suivi automatique est un noop afin que vous puissiez le désactiver

la réponse originale est pour @skent sur ce post

J’ai perdu un jour à cela. J’ai tout essayé, de la documentation aux codes Internet, rien ne m’a permis de montrer des vues d’ensemble à l’écran. Finalement, après minuit aujourd’hui, ils se sont présentés.

Je suppose que si les données en temps réel de Google (envoi de Tracker par onCreate ou une méthode similaire) fonctionnent pour vous, attendez un jour, elles seront traitées quelque part sur les serveurs de Google et seront prêtes après un certain temps sur un tableau de bord analytique.

ps. n’écoute pas Tony, son problème n’est pas le même que celui-ci. Mais stkent a une bonne idée du problème que Google Analytics ne montre pas à l’utilisateur actif en temps réel.

append

  

dans le fichier manifeste, fait le tour.

@tony a raison, la classe HitBuilders.AppViewBuilder est obsolète, mais il n’est pas nécessaire d’implémenter les méthodes onStart/Stop si vous ne le souhaitez pas. Comme indiqué dans le tutoriel V4 de GA (section 4), vous pouvez remplacer la classe HitBuilders.ScreenViewBuilder() par HitBuilders.ScreenViewBuilder() et vous obtiendrez le résultat souhaité sur toutes les plateformes.

Pour plus d’informations sur l’API de référence de classe, consultez les liens suivants: https://developer.android.com/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html.