Plug-in Google Analytics pour Unity : documentation de référence de l'API

Ce document explique comment envoyer des données et liste 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 la méthode Basic ou Builder. Builder 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 à l'aide de l'une ou l'autre méthode de manière interchangeable.

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

Questions d'ordre général

Appels reçus

Envoie 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. Une vue d'écran est constituée d'un champ de chaîne unique qui sera utilisé comme nom d'écran dans vos rapports Google Analytics.

De base

public void LogScreen(string title);

Compilateur

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 constituent 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.

De base

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

Compilateur

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.

De base

public void LogException(string exceptionDescription, bool isFatal);

Compilateur

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 le temps 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.

De base

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

Compilateur

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 et de recommandation sur les réseaux sociaux intégrés à votre contenu.

De base

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

Compilateur

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 achats et les ventes via le 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

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);

Compilateur

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

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);

Compilateur

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 avec 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.

Compilateur

// 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

Mesurer les 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.

Compilateur

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 bien les concepts des outils de suivi.

SetOnTracker

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

Utilisez des 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 le traceur.

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 que lorsque le suivi est 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();