Plugin de Google Analytics para Unity: referencia de la API

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

Introducción

Al enviar datos a Google Analytics con el plugin de Google Analytics para Unity, puedes usar el método Basic o el método Builder. Es obligatorio usar métodos Builder para añadir parámetros de campaña, o bien dimensiones o métricas personalizadas a los hits. Los hits se pueden enviar con cualquiera de los dos métodos.

Sigue la guía del programador para configurar el plugin de Google Analytics para Unity en tu proyecto.

General

Enviar hits

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

public void DispatchHits();

Recursos relacionados:

Control de sesión

Una sesión representa un solo periodo de interacción de usuario con el juego. Las sesiones sirven de contenedores de actividad medida, que incluye visitas a una pantalla, eventos y transacciones de comercio electrónico.

Se pueden usar los siguientes métodos para forzar un inicio o una finalización de 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

En Google Analytics las pantallas representan el contenido que los usuarios ven en el juego. Una visita a una pantalla consiste en un único campo de cadena que se usa como nombre de pantalla en los informes de Google Analytics.

Basic

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 forma útil de recoger datos sobre la interacción de los usuarios con componentes interactivos de tu juego, como el uso de un elemento determinado. Un evento consta de cuatro campos que puedes usar para describir la interacción de un usuario con tu juego.

Basic

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:

Bloqueos y excepciones

La medición de los bloqueos y de las excepciones permite medir el número y el tipo de bloqueos detectados y no detectados, así como las excepciones que ocurren en tu juego.

Basic

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 usuario ofrece un método nativo para calcular un periodo en Google Analytics. Puede ser útil, por ejemplo, para medir los tiempos de carga de los recursos.

Basic

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 la interacción social permite observar las interacciones de los usuarios con varios widgets de red social insertados en el contenido para compartirlo y recomendarlo.

Basic

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 en el juego a Google Analytics. Los datos de comercio electrónico en Google Analytics se componen de hits de transacción y de artículo, relacionados por un ID de transacción compartido.

Transacciones

Basic

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

Artículos

Basic

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 asociar metadatos a hits, a usuarios y a sesiones en Google Analytics, mientras que las métricas personalizadas te permiten crear e incrementar tus propias métricas en Google Analytics.

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

Builder

// Custom Dimension.
public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric.
public T SetCustomMetric(int metricNumber, string 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, "200"));

Recursos relacionados:

Campañas

La medición de campañas en Google Analytics permite atribuir campañas y fuentes de tráfico a la actividad de los usuarios en tu juego.

Los parámetros de campaña se pueden enviar como parte de cualquier hit con 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 usuarios avanzados de Google Analytics que estén familiarizados con los conceptos del objeto de seguimiento.

SetOnTracker

Configura los valores del objeto de seguimiento que se enviarán con otros hits.

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

Dispose

Libera los recursos administrados y recupera el objeto de seguimiento.

Si se llama a dispose, el siguiente hit de seguimiento tendrá que crear otro objeto de seguimiento, por lo que se recomienda llamar a este método solo cuando se haya finalizado por completo el seguimiento. Por ejemplo, en un método onDispose() que se ejecuta cuando el usuario sale del juego.

public void Dispose();

Ejemplo

googleAnalytics.Dispose();