Complemento de Google Analytics para Unity: referencia de la API

En este documento, se describe cómo enviar datos y se enumeran todos los métodos del complemento de Google Analytics para Unity.

Introducción

Cuando envíes datos a Google Analytics con el complemento de Google Analytics para Unity, puedes usar los métodos Basic o Builder. Los métodos Builder son obligatorios si deseas agregar parámetros de campaña o dimensiones o métricas personalizadas a los hits. Los hits pueden enviarse utilizando cualquier método indistintamente.

Sigue la Guía para desarrolladores a fin de configurar el complemento de Google Analytics para Unity en tu proyecto.

General

Éxitos del despacho

Despacha hits (vista, eventos, etc.) a Google Analytics si hay una conexión de red disponible.

public void DispatchHits();

Recursos relacionados:

Control de sesiones

Una sesión representa un período único de interacción del usuario con tu juego. Las sesiones sirven como contenedores útiles de actividad medida, que incluyen vistas de pantalla, eventos y transacciones de comercio electrónico.

Los siguientes métodos se pueden usar para forzar el inicio o el fin de una sesión.

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

Recursos relacionados:

Pantallas

Las pantallas de Google Analytics representan el contenido que los usuarios ven dentro de tu juego. Una vista de pantalla consiste en un solo campo de cadena que se utilizará como nombre de pantalla en tus informes de Google Analytics.

Básico

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Ejemplo

googleAnalytics.LogScreen("Main Menu");

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

Recursos relacionados:

Eventos

Los eventos son una manera útil de recopilar datos sobre la interacción de un usuario con componentes interactivos de tu juego, como el uso de un elemento en particular. Un evento consta de cuatro campos que puedes usar para describir la interacción de un usuario con tu juego.

Básico

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

Builder

public void LogEvent(EventHitBuilder builder);

Ejemplo

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

Recursos relacionados:

Fallas y excepciones

La medición de fallas y excepciones te permite medir la cantidad y el tipo de fallas y excepciones detectadas y no detectadas que ocurren en el juego.

Básico

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Ejemplo

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

Recursos relacionados:

Tiempos de usuario

La medición de los tiempos de los usuarios proporciona una forma nativa de medir un período en Google Analytics. Por ejemplo, esto puede ser útil para medir los tiempos de carga de los recursos.

Básico

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

Builder

public void LogTiming(TimingHitBuilder builder);

Ejemplo

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

Recursos relacionados:

Interacciones sociales

La medición de interacciones sociales te permite medir las interacciones de un usuario con varios widgets de recomendaciones y uso compartido de redes sociales incorporados en tu contenido.

Básico

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

Builder

public void LogSocial(SocialHitBuilder builder);

Ejemplo

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

Recursos relacionados:

Comercio electrónico

La medición de comercio electrónico te permite enviar compras y ventas integradas en el juego a Google Analytics. Los datos de comercio electrónico de Google Analytics se componen de hits de transacciones y de artículos, relacionados por un ID de transacción compartido.

Transacciones

Básico

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

Ejemplo

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

Ítems

Básico

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

Ejemplo

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

Recursos relacionados:

Dimensiones y métricas personalizadas

Las dimensiones personalizadas permiten la asociación de metadatos con hits, usuarios y sesiones en Google Analytics, mientras que las métricas personalizadas te permiten crear y aumentar tus propias métricas en Google Analytics.

Debes crear y configurar dimensiones y métricas personalizadas antes de usarlas. Una vez configurados, los datos se pueden enviar como parte de cualquier hit mediante el método Builder.

Builder

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

Ejemplo

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

Recursos relacionados:

Campañas

La medición de campañas en Google Analytics permite la atribución de campañas y fuentes de tráfico a la actividad del usuario en tu juego.

Los parámetros de campaña se pueden enviar como parte de cualquier hit mediante el método 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);

Ejemplo

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

Recursos relacionados:

Avanzado

Estos métodos solo se recomiendan para los power users de Google Analytics que conocen los conceptos de los servicios de seguimiento.

SetOnTracker

Establece valores en el rastreador para que se envíen con otros hits.

Usa variables de Assets/Plugins/Fields.cs para el parámetro fieldName (p.ej., Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Ejemplo

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

Desechar

Libera recursos administrados y restablece el rastreador.

Si se llama a la eliminación, el siguiente hit de seguimiento tendrá que crear una herramienta de seguimiento nueva, por lo que se recomienda llamar a este método solo cuando se complete el seguimiento. Por ejemplo, en un método onDispose() que se ejecute cuando el usuario salga del juego.

public void Dispose();

Ejemplo

googleAnalytics.Dispose();