Plug-in di Google Analytics per Unity - Riferimento API

Questo documento descrive come inviare i dati ed elenca tutti i metodi per utilizzare il plug-in Google Analytics per Unity.

Introduzione

Quando invii dati a Google Analytics con il plug-in GA per Unity, puoi utilizzare il metodo Basic o Builder. I metodi Builder sono necessari se vuoi aggiungere parametri della campagna oppure dimensioni o metriche personalizzate agli hit. Gli hit possono essere inviati utilizzando entrambi i metodi in modo intercambiabile.

Segui la Guida per gli sviluppatori per impostare e configurare il plug-in di Google Analytics per Unity per il tuo progetto.

Generale

Hit spedizione

Invia gli hit (visualizzazione, eventi e così via) a Google Analytics se è disponibile una connessione di rete.

public void DispatchHits();

Risorse correlate:

Controllo sessione

Una sessione rappresenta un singolo periodo di interazione dell'utente con il gioco. Le sessioni fungono da utili contenitori di attività misurate, che includono visualizzazioni di schermata, eventi e transazioni e-commerce.

Per forzare l'inizio o la fine di una sessione, puoi utilizzare i seguenti metodi.

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

Risorse correlate:

Schermate

Le schermate di Google Analytics rappresentano i contenuti visualizzati dagli utenti all'interno del tuo gioco. Una visualizzazione di schermata è composta da un singolo campo stringa che verrà utilizzato come nome della schermata nei report di Google Analytics.

Basic

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Esempio

googleAnalytics.LogScreen("Main Menu");

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

Risorse correlate:

Eventi

Gli eventi sono un modo utile per raccogliere dati sull'interazione di un utente con i componenti interattivi del gioco, come l'utilizzo di un elemento specifico. Un evento è costituito da quattro campi che puoi utilizzare per descrivere l'interazione di un utente con il tuo gioco.

Basic

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

Builder

public void LogEvent(EventHitBuilder builder);

Esempio

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

Risorse correlate:

Arresti anomali ed eccezioni

La misurazione di arresti anomali ed eccezioni ti consente di misurare il numero e il tipo di arresti anomali ed eccezioni rilevati e non rilevati che si verificano nel tuo gioco.

Basic

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Esempio

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

Risorse correlate:

Tempi utente

La misurazione dei tempi utente fornisce un modo nativo per misurare un periodo di tempo in Google Analytics. Ciò può essere utile, ad esempio, per misurare i tempi di caricamento delle risorse.

Basic

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

Builder

public void LogTiming(TimingHitBuilder builder);

Esempio

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

Risorse correlate:

Interazioni social

La misurazione delle interazioni social ti consente di misurare le interazioni di un utente con vari widget per la condivisione di social network e per i consigli incorporati nei tuoi contenuti.

Basic

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

Builder

public void LogSocial(SocialHitBuilder builder);

Esempio

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

Risorse correlate:

e-commerce

La misurazione e-commerce ti consente di inviare acquisti e vendite in-game a Google Analytics. I dati di e-commerce in Google Analytics sono composti da hit di transazioni e articoli, correlati da un ID transazione condiviso.

Transazioni

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

Esempio

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

Elementi

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

Esempio

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

Risorse correlate:

Dimensioni e metriche personalizzate

Le dimensioni personalizzate consentono di associare i metadati con hit, utenti e sessioni in Google Analytics, mentre le metriche personalizzate ti consentono di creare e incrementare le tue metriche in Google Analytics.

Devi creare e configurare dimensioni personalizzate e metriche personalizzate prima di utilizzarle. Una volta configurati, i dati possono essere inviati come parte di qualsiasi hit utilizzando il metodo Builder.

Builder

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

Esempio

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

Risorse correlate:

Campagne

La misurazione delle campagne in Google Analytics consente di attribuire campagne e sorgenti di traffico all'attività degli utenti all'interno del gioco.

I parametri della campagna possono essere inviati come parte di qualsiasi hit utilizzando il metodo 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);

Esempio

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

Risorse correlate:

Avanzata

Questi metodi sono consigliati solo per utenti esperti di Google Analytics che hanno familiarità con i concetti di monitoraggio.

SetOnTracker

Imposta i valori sul tracker da inviare con gli altri hit.

Utilizza le variabili di Assets/plugin/Fields.cs per il parametro fieldName (ad es. Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Esempio

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

Smaltimento

Libera risorse gestite e reimposta il tracker.

Se l'eliminazione viene definita come il prossimo hit di monitoraggio, sarà necessario creare un nuovo tracker, quindi è consigliabile richiamare questo metodo solo una volta completato il monitoraggio. Ad esempio, in un metodo onDispose() che viene eseguito quando l'utente chiude il gioco.

public void Dispose();

Esempio

googleAnalytics.Dispose();