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, float 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, 81.5));
Risorse correlate:
- Dimensioni e metriche personalizzate - SDK per Android
- Dimensioni e metriche personalizzate - SDK per iOS
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();