Plug-in Google Analytics pour Unity – Documentation de référence de l'API

Ce document explique comment envoyer des données et répertorie toutes les méthodes du plug-in Google Analytics pour Unity.

Introduction

Lorsque vous envoyez des données à Google Analytics à l'aide du plug-in GA pour Unity, vous pouvez utiliser les méthodes Basic ou Builder. Builder sont requises si vous souhaitez ajouter des paramètres de campagne, ou des dimensions ou métriques personnalisées aux appels. Les appels peuvent être envoyés via l'une ou l'autre méthode de manière interchangeable.

Suivez le Guide du développeur pour installer et configurer le plug-in Google Analytics pour Unity pour votre projet.

Questions d'ordre général

Appels reçus

Transfère les appels (vue, événements, etc.) à Google Analytics si une connexion réseau est disponible.

public void DispatchHits();

Ressources associées:

Contrôle de la session

Une session représente une période unique d'interaction de l'utilisateur avec votre jeu. Les sessions servent de conteneurs utiles pour l'activité mesurée, y compris les visionnages de l'écran, les événements et les transactions e-commerce.

Les méthodes suivantes peuvent être utilisées pour forcer le début ou la fin d'une session.

// Start a new session.
public void StartSession();
// There should be no need to end a session explicitly. However, if you do
// need to indicate the end of session you can use the following method.
public void StopSession();

Ressources associées:

Écrans

Dans Google Analytics, les écrans représentent le contenu que les utilisateurs consultent dans votre jeu. Un affichage de l'écran est constitué d'un seul champ de chaîne qui sera utilisé comme nom d'écran dans vos rapports Google Analytics.

Rôles de base

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Exemple

googleAnalytics.LogScreen("Main Menu");

//Builder Hit with all App View parameters (all parameters required):
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Main Menu"));

Ressources associées:

Événements

Les événements sont un moyen utile de collecter des données sur l'interaction d'un utilisateur avec les composants interactifs de votre jeu, comme l'utilisation d'un élément particulier. Un événement se compose de quatre champs que vous pouvez utiliser pour décrire l'interaction d'un utilisateur avec votre jeu.

Rôles de base

public void LogEvent(string eventCategory,
    string eventAction,
    string eventLabel,
    long value);

Builder

public void LogEvent(EventHitBuilder builder);

Exemple

googleAnalytics.LogEvent("Achievement", "Unlocked", "Slay 10 dragons", 5);

// Builder Hit with all Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5));

// Builder Hit with minimum required Event parameters.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked"));

Ressources associées:

Plantages et exceptions

La mesure des plantages et des exceptions vous permet de mesurer le nombre et le type de plantages et d'exceptions détectés et non détectés dans votre jeu.

Rôles de base

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Exemple

googleAnalytics.LogException("Incorrect input exception", true);

// Builder Hit with all Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder()
    .SetExceptionDescription("Incorrect input exception")
    .SetFatal(true));

// Builder Hit with minimum required Exception parameters.
googleAnalytics.LogException(new ExceptionHitBuilder());

Ressources associées:

Temps utilisateur

Mesurer la durée utilisateur est un moyen natif de mesurer une période dans Google Analytics. Cela peut s'avérer utile, par exemple, pour mesurer les temps de chargement des ressources.

Rôles de base

public void LogTiming(string timingCategory,
    long timingInterval,
    string timingName,
    string timingLabel);

Builder

public void LogTiming(TimingHitBuilder builder);

Exemple

googleAnalytics.LogTiming("Loading", 50L, "Main Menu", "First Load");

// Builder Hit with all Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load"));

// Builder Hit with minimum required Timing parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L));

Ressources associées:

Interactions associées aux réseaux sociaux

La mesure des interactions sur les réseaux sociaux vous permet de mesurer les interactions d'un utilisateur avec divers widgets de partage sur les réseaux sociaux et de recommandations intégrés à votre contenu.

Rôles de base

public void LogSocial(string socialNetwork,
    string socialAction,
    string socialTarget);

Builder

public void LogSocial(SocialHitBuilder builder);

Exemple

googleAnalytics.LogSocial("twitter", "retweet", "twitter.com/googleanalytics/status/482210840234295296");

// Builder Hit with all Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet")
    .SetSocialTarget("twitter.com/googleanalytics/status/482210840234295296"));

// Builder Hit with minimum required Social parameters.
googleAnalytics.LogSocial(new SocialHitBuilder()
    .SetSocialNetwork("Twitter")
    .SetSocialAction("Retweet"));

Ressources associées:

E-commerce

La mesure de l'e-commerce vous permet d'envoyer les ventes et les achats via un jeu à Google Analytics. Dans Google Analytics, les données d'e-commerce sont constituées d'appels de transaction et d'article, associés par un ID de transaction partagé.

Transactions

Rôles de base

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping);

public void LogTransaction(string transID,
    string affiliation,
    double revenue,
    double tax,
    double shipping,
    string currencyCode);

Builder

public void LogTransaction(TransactionHitBuilder builder);

Exemple

googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0);
googleAnalytics.LogTransaction("TRANS001", "Coin Store", 3.0, 0.0, 0.0, "USD");

// Builder Hit with all Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Transaction parameters.
googleAnalytics.LogTransaction(new TransactionHitBuilder()
    .SetTransactionID("TRANS001")
    .SetAffiliation("Coin Store")
    .SetRevenue(3.0)
    .SetTax(0)
    .SetShipping(0.0));

Éléments

Rôles de base

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity);

public void LogItem(string transID,
    string name,
    string SKU,
    string category,
    double price,
    long quantity,
    string currencyCode);

Builder

public void LogItem(ItemHitBuilder builder);

Exemple

googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2);
googleAnalytics.LogItem("TRANS001", "Sword", "SWORD1223", "Weapon", 3.0, 2, "USD");

// Builder Hit with all Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetCategory("Weapon")
    .SetPrice(3.0)
    .SetQuantity(2)
    .SetCurrencyCode("USD"));

// Builder Hit with minimum required Item parameters.
googleAnalytics.LogItem(new ItemHitBuilder()
    .SetTransactionID("TRANS001")
    .SetName("Sword")
    .SetSKU("SWORD1223")
    .SetPrice(3.0)
    .SetQuantity(2));

Ressources associées:

Statistiques et dimensions personnalisées

Les dimensions personnalisées permettent d'associer des métadonnées à des appels, des utilisateurs et des sessions dans Google Analytics, tandis que les métriques personnalisées vous permettent de créer et d'incrémenter vos propres métriques dans Google Analytics.

Vous devez créer et configurer des dimensions et métriques personnalisées avant de les utiliser. Une fois configurées, les données peuvent être envoyées dans n'importe quel appel à l'aide de la méthode Builder.

Builder

// Custom Dimension.
public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric.
public T SetCustomMetric(int metricNumber, float value);

Exemple

// Custom Dimension.
// An AppView hit example, but custom dimensions can be sent with all hit types.
googleAnalytics.LogScreen(new AppViewHitBuilder()
    .SetScreenName("Another screen")
    .SetCustomDimension(1, "200"));

// Custom Metric.
// An Event hit example, but custom metrics can be sent with all hit types.
googleAnalytics.LogEvent(new EventHitBuilder()
    .SetEventCategory("Achievement")
    .SetEventAction("Unlocked")
    .SetEventLabel("Slay 10 dragons")
    .SetEventValue(5)
    .SetCustomMetric(3, 81.5));

Ressources associées:

Campagnes

La mesure des campagnes dans Google Analytics permet d'attribuer les campagnes et les sources de trafic à l'activité des utilisateurs dans votre jeu.

Les paramètres de campagne peuvent être envoyés dans n'importe quel appel à l'aide de la méthode Builder.

Builder

public T SetCampaignName(string campaignName);
public T SetCampaignSource(string campaignSource);
public T SetCampaignMedium(string campaignMedium);
public T SetCampaignKeyword(string campaignKeyword);
public T SetCampaignContent(string campaignContent);
public T SetCampaignID(string campaignID);

Exemple

googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignName("Summer Campaign")
    .SetCampaignSource("google")
    .SetCampaignMedium("cpc")
    .SetCampaignKeyword("games")
    .SetCampaignContent("Free power ups")
    .SetCampaignId("Summer1"));

// Send campaign parameters with timing hit.
// Builder Hit with minimum required Campaign parameters.
googleAnalytics.LogTiming(new TimingHitBuilder()
    .SetTimingCategory("Loading")
    .SetTimingInterval(50L)
    .SetTimingName("Main Menu")
    .SetTimingLabel("First load")
    .SetCampaignSource("google");

Ressources associées:

Avancé

Ces méthodes ne sont recommandées que pour les utilisateurs expérimentés de Google Analytics qui connaissent les concepts des outils de suivi.

SetOnTracker

Définissez des valeurs sur l'outil de suivi à envoyer avec d'autres appels.

Utilisez les variables de Assets/Plugins/Fields.cs pour le paramètre fieldName (par exemple, Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Exemple

googleAnalytics.SetOnTracker(Fields.SCREEN_NAME, "Main Menu");

Mettre au rebut

Libérez des ressources gérées et réinitialisez l'outil de suivi.

Si la méthode "dispose" est appelée, le prochain hit de suivi devra créer un outil de suivi. Il est donc recommandé de n'appeler cette méthode qu'une fois le suivi complètement terminé. (par exemple, dans une méthode onDispose() qui s'exécute lorsque l'utilisateur quitte votre jeu).

public void Dispose();

Exemple

googleAnalytics.Dispose();