Rechercher un thème :
Solutions >   
Toute l'encyclo pratique

Android : comment utiliser Google Analytics pour mesurer des fragments

Fiche pratique
Pas à pas, voici comment mettre en œuvre une méthode pour suivre le trafic sur des fragments d'applications Android via Google Analytics.
 
 
Dernière mise à jour : septembre 2017
 
Google Analytics peut être utilisé pour suivre le trafic sur des fragments d'applications Android. Dans la version 4 du SDK Google Analytics pour Android, vous devez commencer par implémenter la méthode "getTracker" au sein de votre application. 

Dans cette méthode, on va récupérer une instance de Google Analytics, puis on va appeler la méthode "newTracker" afin de créer le tracker. Cette méthode accepte en argument le nom du fichier XML qui contient les paramètres du tracker. Ce fichier s'appelle traditionnellement "analytics.xml", mais on peut le nommer autrement.



Annonces Google



public class VotreApplication extends Application
{
    public synchronized Tracker getTracker() {

        try {
            final GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(this);
            return googleAnalytics.newTracker(R.xml.analytics);

        }catch(final Exception e){
            Log.e(TAG, "Échec dans l'initialisation de l'API Google Analytics V4");
        }
        return null;
    }
}


La deuxième étape consiste à créer le fichier "analytics.xml". Ce fichier sera situé dans le dossier "res/xml" de votre application, et contient l'identifiant de suivi ainsi que des valeurs permettant de paramétrer le fonctionnement du tracker :
<?xml version="1.0" encoding="utf-8" ?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
  <!-- Insérer dans cette balise l'identifiant de suivi -->
  <string name="ga_trackingId">UA-XXXXXXXX-X</string>
  <!-- Cette propriété active le suivi automatique des activités -->
  <bool name="ga_autoActivityTracking">true</bool>
  <!-- Cette propriété désactive le suivi automatique des exceptions -->
  <bool name="ga_reportUncaughtExceptions">false</bool>
</resources>


Dans le fichier "build.gradle" de l'application, ajoutez la ligne suivante pour utiliser la version 7.3.0 des services Google Play, version minimum requise pour l'utilisation de la version 4 du SDK Google Analytics :
compile 'com.google.android.gms:play-services:7.3.0'

Pour terminer, il ne reste plus qu'à appeler le tracker dans le fragment. Il faut pour cela implémenter la méthode "onResume" qui est exécutée lorsqu'un utilisateur interagit avec le fragment. Dans cette méthode, on appellera la fonction "getTracker" créée plus haut dans votre application, puis on enverra les informations de suivi à Google Analytics :
public abstract class TrackedFragment extends Fragment{
    @Override
    public void onResume() {
        super.onResume();
        final Tracker tracker = instanceDeVotreApplication.getTracker();
        if(tracker != null){
            tracker.setScreenName(getClass().getSimpleName());
            tracker.send(new HitBuilders.ScreenViewBuilder().build());
        }
    }
}



Si vous utilisez la version 3 du SDK Google Analytics pour Android, les étapes ne sont pas les mêmes. Le fichier "analytics.xml" est le même, mais il doit obligatoirement être nommé de cette façon, un autre nom n'est pas possible. Il n'y a pas de code à écrire dans l'application, tout est situé dans le fragment. Dans votre fragment, importez toutes les bibliothèques de Google Analytics. Il faut ensuite créer un attribut privé de la classe "Tracker". Cet attribut sera instancié dans la méthode "onActivityCreated", et les données seront envoyées dans la méthode "onResume" :
import android.os.Bundle;
import android.support.v4.app.Fragment;
//Import des bibliothèques nécessaires pour utiliser Google Analytics
import com.google.analytics.tracking.android.EasyTracker;
import com.google.analytics.tracking.android.Fields;
import com.google.analytics.tracking.android.MapBuilder;
import com.google.analytics.tracking.android.Tracker;
public abstract class TrackedFragment extends Fragment{
     //Attribut correspondant au tracker
     private Tracker tracker;
     @Override
     public void onActivityCreated(final Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         //Instanciation du tracker
         this.tracker = EasyTracker.getInstance(getActivity());
     }
     @Override
     public void onResume() {
         super.onResume();
         //Envoi des données de suivi
         this.tracker.set(Fields.SCREEN_NAME, getClass().getSimpleName());
         this.tracker.send( MapBuilder.createAppView().build() );
     }
}
 
 
Copyright Benchmark Group Envoyer à un ami | Imprimer  
 

 
 
 

Google Analytics et SEO
Fiches pratiques
 Activer l'URL Rewriting avec Drupal 7 Ajax : optimiser le référencement et le crawl d'une application web monopage Ajouter le code de Google Analytics à un site PHP
 Android : comment utiliser Google Analytics pour mesurer des fragments API Google Analytics : comment régler le problème de login ? Bien faire apparaître un événement dans Universal Analytics : un clic par exemple
 Bien installer Google Analytics version Universal sur un site en AJAX Bien mettre en place le User ID d'Universal Analytics Ce que veulent dire les chiffres dans les cookies _ga d'Universal Analytics
 Comment ajouter Google Analytics à Drupal ? Comment ajouter l'ID de suivi de Google Analytics aux pages GitHub ? Comment avoir les rapports "Données démographiques" et "Centres d'intérêt" dans Google Analytics
 Comment combiner les statistiques de plusieurs sites dans Google Analytics ? Comment comprendre les informations Google Click ID (gclid) et les extraire ? Comment connaître le nombre d'impressions des pages avec Google Analytics ?
 Comment indiquer un en-tête "Vary: Accept-Encoding" dans .htaccess ? Conseils pour améliorer le SEO d'une application web monopage Empêcher l'indexation des paramètres d'URL avec robots.txt
 Empêcher l'indexation d'un site miroir (un sous-domaine) via le fichier robots.txt Faire fonctionner Google Analytics avec Rails 4 Générer des URL optimisées pour le SEO avec PHP [URL Rewriting]
 Gérer le SEO pour escaped_fragment (AJAX) Google Analytics API : résoudre le problème de permission (erreur 403) Google Analytics : ce que veut dire
 Google Analytics : comment connaître le nombre de visiteurs sur une page précise ? Google Analytics : comment supprimer une propriété Google Analytics : comment supprimer une vue
 Google Analytics : comment supprimer un site Google Analytics : faire marcher la configuration avancée des événements (avec onClick et jQuery) Google Analytics pour iOS : comment mesurer les écrans avec GAITrackedViewController ?
 Google Analytics : pourquoi la fonctionnalité "analyse des pages web" ne marche pas ? Google Analytics : résoudre le problème du code de suivi non installé .htaccess : mettre en place une page 404 personnalisée
 .htaccess : mettre en place une redirection sans changer l'URL Indexer de l'AJAX et du contenu généré dynamiquement Installer Google Analytics sur un site d'une seule page (ou "monopage")
 Installer Google Analytics sur un sous-domaine Liens : quand utiliser rel="external" ou rel="nofollow" ? Mesurer des sous-domaines avec Universal Analytics et Google Tag Manager
 Mesurer le remplissage des formulaires avec Google Analytics (via les événements) ? Mesurer les URL dans les iframes avec Google Analytics  Mettre en place les variables personnalisées avec Universal Analytics et analytics.js
 Migrer vers Universal Analytics : comment suivre les pages vues et les dimensions personnalisées ? Obtenir les statistiques Google Analytics avec Ruby on Rails OpenCart : comment enlever "index.php?route=common/home" ?
 Peut-on exporter un historique complet de données Google Analytics ? Pourquoi certains chiffres de Google Analytics peuvent différer de ceux de Flurry Analytics Pourquoi Google Analytics n'arrive pas à mesurer les vues sur iOS ?
 Pourquoi un site n'apparaît pas dans Google ? Quel code ajouter pour suivre les événements dans Google Analytics ? Quel est le code Google Analytics permettant de mesurer les événements OnClick ?
 Quelle différence entre "Temps moyen passé sur la page" et "Durée moyenne des sessions" dans Google Analytics ?  Quelles différences entre ga ou _gaq.push pour analyser des événements dans Google Analytics ? Quelle URL du sitemap mettre dans le robots.txt ?
 Rediriger des pages .php vers .html via .htaccess Rich Snippet : faut-il utiliser plusieurs attributs itemprop pour un seul élément ? SEO : empêcher l'indexation de parties de pages
 SEO : empêcher l'indexation de parties de pages SEO et Opencart : résoudre un problème d'URL mal optimisée  SEO : les avantages de WordPress sur des pages HTML écrites soi-même
 SEO : optimiser les URL des pages catégories et des pages produits dans Magento Site ASP.net MVC : comment rediriger toutes les pages sans www vers les pages avec www ? Sites référents dans Google Analytics : comment bloquer le trafic venant de certains sites via .htaccess ?
 Suivre les commentaires sur un blog avec Universal Analytics Suivre un appel Ajax avec Google Analytics (version Universal Analytics) Universal Analytics : comment suivre les transactions sur Magento ?
 Universal Analytics : quel est le client ID pour envoyer des mesures à Google Analytics ? Utiliser display:none est-il sans danger pour le SEO ?  Utiliser $_GET pour avoir de bonnes URL pour le SEO
 Variables personnalisées : les différences entre Universal Analytics et Google Analytics