Google Analytics pour iOS : comment mesurer les écrans avec GAITrackedViewController ?

Le SDK de Google Analytics pour iOS permet de mesurer l'audience des différents écrans d'une application. Voici comment.

Google Analytics existe également sous la forme d'un SDK pour iOS. Ce kit de développement peut mesurer l'audience des différents écrans de votre application et connaître ainsi quels sont les éléments de votre application les plus vus.

Pour analyser un écran, la méthode la plus simple consiste à implémenter la classe GAITrackedViewController. La mesure de l'écran est alors gérée de manière automatique par Google Analytics :
@interface AboutViewController : GAITrackedViewController

Si vous souhaitez effectuer une mesure manuelle de l'écran, il suffit d'écrire quelques lignes dans la méthode "viewDidAppear" du contrôleur. Cette méthode est appelée lorsque l'écran est affiché.
Si vous utilisez la version 3 du kit de développement, il faudra d'abord importer des bibliothèques supplémentaires :

#import "GAI.h"
#import "GAIFields.h"
#import "GAIDictionaryBuilder.h"

Ensuite, utilisez le code suivant pour effectuer une mesure manuelle :

-(void)viewDidAppear:(BOOL)animated
{
    //Cette méthode exécute en premier le même code que celui de la classe dont elle hérite.
    [super viewDidAppear:animated];
    //Cette instruction retourne le même tracker que celui créé dans votre classe "AppDelegate".
    // L'objet "defaultTracker" a été au départ déclaré dans le fichier AppDelegate.m.
    id tracker = [[GAI sharedInstance] defaultTracker];
    // Le nom de l'écran aura toujours cette valeur lorsque l'envoi des mesures sera fait par le tracker, jusqu'à ce que sa valeur soit modifiée.
    [tracker set:kGAIScreenName
           value:@"Écran d'accueil"];
    // Envoi manuel des mesures
    [tracker send:[[GAIDictionaryBuilder createScreenView] build]];
}

Si vous utilisez la version 2 du kit de développement, le code est légèrement différent. Il n'y a pas de bibliothèques à importer et le nom de l'écran est indiqué directement dans la méthode d'envoi :

-(void)viewDidAppear:(BOOL)animated
{
    //En premier, on exécute la méthode de la classe parente.
    [super viewDidAppear:animated];
    //Cette instruction retourne le même tracker que celui créé dans votre classe "AppDelegate".
    // L'objet "defaultTracker" a été au départ déclaré dans le fichier AppDelegate.m.
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    // Envoi manuel des mesures
    [tracker sendView:@"Écran d'accueil"];
}

Lire aussi :

- Android : comment utiliser Google Analytics pour mesurer des fragments

Tutoriels Analytics