Comment intégrer Google Analytics à une application Ionic / Cordova
Voici une solution très simple pour ajouter Google Analytics à une application mobile Ionic / Cordova.
Installation du plugin Google Analytics
La première chose à faire est d’ajouter le plugin Cordova Google Analytics Plugin à votre application Ionic.
ionic plugin add https://github.com/danwilson/google-analytics-plugin.git
Il est ensuite nécessaire d’initialiser le plugin avec l’ID de suivi fourni par Google Analytics.
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(typeof analytics !== "undefined") {
analytics.startTrackerWithId("UA-XXXXXXXX-X");
} else {
console.log("Google Analytics Unavailable");
}
});
})
Notez que le plugin Google Analytics ne fonctionnera qu’au sein d’un device ou de l’émulateur.
Le plugin de suivi étant initialisé, on peut désormais spécifier les pages à analyser.
Configuration du suivi sur Ionic
Analyser un écran
Pour analyser une vue, positionnez le code suivant au sein du contrôleur associé à la vue que vous souhaitez analyser.
if(typeof analytics !== "undefined") {
analytics.trackView("Ecran : Accueil");
}
Analyser tous les écrans
Si vous avez un grand nombre d’écrans dans votre application, il peut être assez long de les analyser un par un.
Le code suivant permet donc d’analyser les changements d’états de l’application, et de les faire remonter à Google Analytics.
$rootScope.$on('$stateChangeSuccess', function(e, to) {
if(typeof analytics !== "undefined" && to && to.name) {
analytics.trackView("Ecran : "+to.name);
}
});
Analyser un évènement
Il peut également être intéressant d’analyser des évènements. L’exemple suivant analyse un changement de catégorie lors d’un clic sur un bouton.
$scope.changeCategory = function(category) {
if(typeof analytics !== "undefined") {
analytics.trackEvent("Side Menu", "Changement de categorie", category);
}
}
Autres analyses
Le plugin fourni un certain nombre de méthodes permettant de faire différentes analyses. Pour voir leur fonctionnement, reportez-vous à la documentation du plugin.