Guide d'implémentation d'applications mobiles

Ce document s'adresse aux développeurs d'applications mobiles. Il explique comment utiliser Google Analytics pour mesurer les interactions des utilisateurs et répondre aux questions concernant l'utilisation des applications.

Introduction

Google Analytics pour les applications mobiles fournit une plate-forme permettant de mesurer les interactions des utilisateurs. Vous pouvez ainsi mieux comprendre et optimiser l'engagement des utilisateurs avec votre application.

L'implémentation par défaut de Google Analytics fournit automatiquement les informations suivantes sur votre application:

  • Nombre d'utilisateurs et de sessions
  • Durée de la session
  • Systèmes d'exploitation
  • Modèles d'appareils
  • Zone géographique

Ce guide explique comment implémenter des fonctionnalités Google Analytics supplémentaires pour mieux comprendre vos utilisateurs et leur comportement.

Avant de commencer

Avant de parcourir ce guide pour configurer Google Analytics pour les applications mobiles:

Présentation

Dragon trap

Ce guide utilise un exemple d'application pour vous expliquer comment implémenter d'autres fonctionnalités Google Analytics. Cette application, appelée Dragon Catcher, présente les caractéristiques de jeu suivantes:

  • Il se compose d'un joueur, de dragons, d'une zone clôturée, d'un puits et d'arbres.
  • Le but du joueur est d'attraper des dragons en les déplaçant dans la zone clôturée
  • Le joueur peut visiter différentes zones du niveau et des objets comme un puits ou un arbre magique
  • Le joueur passe au niveau suivant une fois qu'il a capturé tous les dragons
  • Le joueur commence le jeu au premier niveau, nommé Barren Fields.

Avec Google Analytics, voici quelques questions sur le comportement des utilisateurs concernant Dragon Catcher:

Le reste de ce document montre comment répondre à ces questions en implémentant des fonctionnalités Google Analytics pour le jeu Dragon Catcher.

Quelles actions mes utilisateurs effectuent-ils ? (Événements)

Si vous souhaitez suivre des actions importantes dans votre application, vous pouvez utiliser des événements pour décrire cette action dans Google Analytics. Un événement se compose de quatre paramètres : category, action, label et value.

Par exemple, dans Dragon Catcher, un utilisateur qui sauve un dragon ou qui visite une zone spécifique du niveau est une action importante que nous voulons mesurer à l'aide d'événements. L'extrait de code ci-dessous montre comment mesurer cela dans Google Analytics.

SDK Android

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Rescue")
    .setLabel("Dragon")
    .setValue(1)
    .build());

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Magic Tree")
    .setValue(1)
    .build());

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
tracker.send(new HitBuilders.EventBuilder()
    .setCategory("Barren Fields")
    .setAction("Visited")
    .setLabel("Well")
    .setValue(1)
    .build());

SDK iOS

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Rescue"
                                                       label:@"Dragon"
                                                       value:@1] build]];

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Magic Tree"
                                                       value:@1] build]];

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields"
                                                      action:@"Visited"
                                                       label:@"Well"
                                                       value:@1] build]];

Plug-in GA pour Unity

// To determine how many dragons are being rescued, send an event when the
// player rescues a dragon.
googleAnalytics.LogEvent("Barren Fields", "Rescue", "Dragon", 1);

// To determine if players are visiting the magic tree, send an event when the
// player is in the vicinity of the magic tree.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Magic Tree", 1);

// To determine if players are visiting the well, send an event when the player
// is in the vicinity of the well.
googleAnalytics.LogEvent("Barren Fields", "Visited", "Well", 1);

Réussites de joueurs

Vous pouvez mesurer les réussites des joueurs à l'aide d'événements dans Google Analytics. Par exemple, pour mesurer le succès d'un sauvetage de cinq dragons, le nombre de dragons qu'un joueur a sauvés est enregistré. Une fois qu'il a atteint le seuil, un événement est envoyé à Google Analytics:

SDK Android

if (numDragonsRescued > 5) {
  if (!user.hasAchievement(RESCUED_ACHIEVEMENT) {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Unlocked")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  } else {
    tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Achievement")
        .setAction("Earned")
        .setLabel("5 Dragons Rescued")
        .setValue(1)
        .build());
  }
}

SDK iOS

if (numDragonsRescued > 5) {
  if (![user hasAchievement:RESCUED_ACHIEVEMENT]) {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Unlocked"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  } else {
    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement"
                                                          action:@"Earned"
                                                           label:@"5 Dragons Rescued"
                                                           value:@1] build]];
  }
}

Plug-in GA pour Unity

if (numDragonsRescued > 5) {
  if (!user.HasAchievement(RESCUED_ACHIEVEMENT)) {
    googleAnalytics.LogEvent("Achievement", "Unlocked", "5 Dragons Rescued", 1);
  } else {
    googleAnalytics.LogEvent("Achievement", "Earned", "5 Dragons Rescued", 1);
  }
}

Guides du développeur pour les événements

Rapports sur les événements

Les données d'événement sont disponibles dans les pays suivants:

Combien les utilisateurs dépensent-ils dans mon application ? (e-commerce amélioré)

Si vous souhaitez mesurer les achats via une application, vous pouvez utiliser le suivi de l'e-commerce pour suivre l'achat, et comprendre les performances des produits et le comportement des utilisateurs associés. Le suivi de l'e-commerce permet de mesurer l'achat d'un article spécifique ou une devise virtuelle.

Par exemple, dans Dragon Catcher, pour mesurer l'achat de certains articles, les données de transaction sont envoyées à Google Analytics avec un événement:

SDK Android

Product product = new Product()
    .setName("Dragon Food")
    .setPrice(40.00);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T12345");

// Add the transaction data to the event.
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction data with the event.
tracker.send(builder.build());

SDK iOS

GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"Dragon Food"];
[product setPrice:@40.00];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T12345"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
// Add the transaction data to the event.
[builder setProductAction:productAction];
[builder addProduct:product];

// Send the transaction data with the event.
[tracker send:[builder build]];

Plug-in GA pour Unity

// Note: Using Android SDK v3 and standard Ecommerce tracking.

googleAnalytics.LogItem("T12345", "Dragon Food", "Food_SKU", "Items", 40.00, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 40.00, 0.00, 0.00);

Si un utilisateur achète de la monnaie virtuelle, nous vous recommandons de mesurer le taux de change lorsque vous envoyez les données de transaction à Google Analytics. Lorsque l'utilisateur dépense la devise virtuelle pour acheter des articles, mesurez cela à l'aide d'événements. Exemple :

SDK Android

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
Product product = new Product()
    .setName("2500 Gems")
    .setPrice(5.99);

ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T67890");

// Add the transaction to the screenview.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

// Send the transaction with the screenview.
tracker.setScreenName("In-Game Store");
tracker.send(builder.build());


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setCategory("In-Game Store")
    .setAction("Purchase")
    .setLabel("Sword")
    .setValue(35);
tracker.send(builder.build());

SDK iOS

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setName:@"2500 Gems"];
[product setPrice:@5.99];

GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init];
[productAction setAction:kGAIPAPurchase];
[productAction setTransactionId:@"T67890"];

GAIDictionaryBuilder *viewBuilder = [GAIDictionaryBuilder createScreenView];

// Add the transaction data to the screenview.
[viewBuilder setProductAction:productAction];
[viewBuilder addProduct:product];

// Send the transaction with the screenview.
[tracker set:kGAIScreenName value:@"In-Game Store"];
[tracker send:[viewBuilder build]];


/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
GAIDictionaryBuilder *eventBuilder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store"
                                                                       action:@"Purchase"
                                                                        label:@"Sword"
                                                                        value:@35];
[tracker send:[eventBuilder build]];

Plug-in GA pour Unity

// Note: Using Android SDK v3 and standard Ecommerce tracking.

/**
 * When the user purchases the virtual currency (Gems) measure the transaction
 * using enhanced ecommerce.
 */

googleAnalytics.LogItem("T12345", "2500 Gems", "GEM2500_SKU", "Items", 5.99, 1);
googleAnalytics.LogTransaction("T12345", "In-Game Store", 5.99, 0.00, 0.00);

/**
 * When the user purchases an item using the virtual currency (Gems) send an
 * event to measure this in Google Analytics.
 */
googleAnalytics.LogEvent("In-Game Store", "Purchase", "Sword", 35);

Guides du développeur pour l'e-commerce amélioré

Rapports sur l'e-commerce amélioré

Les données d'e-commerce sont disponibles dans les pays suivants:

Les utilisateurs réalisent-ils les objectifs de mon application ? (Objectifs)

Si vous souhaitez que les utilisateurs atteignent des objectifs spécifiques pour votre application, vous pouvez les définir et les mesurer à l'aide des objectifs dans Google Analytics. Par exemple, les utilisateurs peuvent atteindre un certain niveau de jeu ou acheter un article. Pour en savoir plus sur le fonctionnement des objectifs, consultez la page À propos des objectifs (Centre d'aide).

Dans le jeu Dragon Catcher, vous pouvez configurer un objectif permettant de mesurer le moment où un événement est envoyé à Google Analytics pour chaque achat. L'objectif peut être défini dans l'administrateur de l'interface Web, sans code supplémentaire, à l'aide des paramètres suivants:

  • Type d'objectif (est égal à) : Événement
  • Catégorie (est égal à): In-Game Store
  • Action (est égal à) : Purchase
  • Utilisez la valeur de l'événement comme valeur de l'objectif pour la conversion: Yes.

Rapports sur les objectifs

Les données des objectifs sont disponibles dans les pays suivants:

Comment se comportent les utilisateurs ayant une caractéristique spécifique ? (Dimensions personnalisées)

Si vous souhaitez suivre les utilisateurs avec des attributs/caractéristiques/métadonnées spécifiques, vous pouvez utiliser des dimensions personnalisées pour envoyer ce type de données à Google Analytics et à l'analyse. Pour en savoir plus sur le fonctionnement des dimensions personnalisées, consultez la documentation de référence sur les dimensions personnalisées.

Par exemple, dans Dragon Catcher, vous pouvez déterminer le pourcentage d'utilisateurs au premier niveau, au deuxième niveau, etc. Une dimension personnalisée peut être définie avec le niveau actuel de l'utilisateur et envoyée à Google Analytics. Voici la procédure à suivre :

  1. Créez une dimension personnalisée avec un champ d'application User. Le champ d'application User est utilisé, car cette valeur doit persister dans toutes les sessions de cet utilisateur. Consultez Configurer ou modifier des dimensions personnalisées (centre d'aide).
  2. Modifiez la valeur de la dimension personnalisée lorsque le niveau de l'utilisateur a changé.

L'extrait de code suivant montre comment mettre à jour l'état de l'utilisateur dans Google Analytics, où l'index de dimension personnalisée au niveau de l'utilisateur est 1 et où le niveau de l'utilisateur est passé à Barren Fields :

SDK Android

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
tracker.setScreenName("BarrenFields");
tracker.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "Barren Fields")
    .build()
);

SDK iOS

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
[tracker set:kGAIScreenName value:@"BarrenFields"];
[tracker send:[[[GAIDictionaryBuilder createScreenView]
         set:@"Barren Fields"
      forKey:[GAIFields customDimensionForIndex:1]] build]];

Plug-in GA pour Unity

// Set the user level custom dimension when sending a hit to Google Analytics
// such as a screenview or event.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("BarrenFields").SetCustomDimension(1, "Barren Fields"));

Guides du développeur pour les métriques et dimensions personnalisées

Rapports sur les dimensions et métriques personnalisées

Les dimensions personnalisées peuvent être incluses et appliquées en tant que segment aux éléments suivants:

L'application de la dimension personnalisée en tant que segment vous permettra d'analyser les utilisateurs qui se trouvent à un niveau spécifique dans le jeu.

Combien de temps faut-il à un utilisateur pour accomplir une tâche ? (Horaires personnalisés)

Si vous souhaitez mesurer le temps nécessaire pour effectuer une action dans l'application, vous pouvez utiliser les temps utilisateur pour des mesures temporelles dans Google Analytics. Les délais de livraison sont semblables à des événements, mais ils sont basés sur le temps et peuvent inclure un category, un value, un name (variable) et un label. Pour en savoir plus sur le fonctionnement des temps utilisateur, consultez À propos de la vitesse du site.

Par exemple, dans Dragon Catcher pour mesurer le temps nécessaire à un sauveteur pour son premier dragon, vous pouvez envoyer quelque chose comme:

SDK Android

// Build and send a timing hit.
tracker.send(new HitBuilders.TimingBuilder()
    .setCategory("Barren Fields")
    .setValue(45000)  // 45 seconds.
    .setVariable("First Rescue")
    .setLabel("Dragon")
    .build());

SDK iOS

[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:@"Barren Fields"
                                                     interval:@45000   // 45 seconds.
                                                         name:@"First Rescue"
                                                        label:@"Dragon"] build]];

Plug-in GA pour Unity

// Build and send a timing hit.
googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");

Guides du développeur pour des horaires personnalisés

Rapports sur les délais personnalisés

Les données de durées personnalisées sont disponibles:

  • Analytics Academy : améliorez vos compétences en matière d'analyse grâce à des cours en ligne offerts, y compris les principes de base de l'analyse d'applications mobiles.
  • API et SDK de collecte des données : découvrez comment envoyer des données à Google Analytics.