Ten dokument zawiera opis sposobu wysyłania danych i listę wszystkich metod wtyczki Google Analytics do Unity.
Wstęp
Podczas wysyłania danych do Google Analytics za pomocą wtyczki GA do Unity możesz używać metody podstawowej lub metody Builder. Metody konstruktora są wymagane, jeśli chcesz dołączać do działań parametry kampanii, wymiary lub dane niestandardowe. Działania można wysyłać za pomocą obu metod zamiennie.
Postępuj zgodnie z przewodnikiem dla programistów, aby skonfigurować wtyczkę Google Analytics do Unity w swoim projekcie.
Ogólne
Działania związane z wysyłką
Wysyła działania (widok danych, zdarzenia itp.) do Google Analytics, jeśli dostępne jest połączenie sieciowe.
public void DispatchHits();
Przydatne materiały:
Kontrola sesji
Sesja to pojedynczy okres interakcji użytkownika z grą. Sesje służą jako przydatne kontenery mierzonych działań, które obejmują wyświetlenia ekranu, zdarzenia i transakcje e-commerce.
Opisane poniżej metody wymuszają rozpoczęcie lub zakończenie sesji.
// 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();
Przydatne materiały:
Ekrany
Ekrany w Google Analytics reprezentują treści wyświetlane przez użytkowników w grze. Widok ekranu składa się z pojedynczego pola ciągu tekstowego, które będzie używane jako nazwa ekranu w raportach Google Analytics.
Podstawowe
public void LogScreen(string title);
Monter
public void LogScreen(AppViewHitBuilder builder);
Przykład
googleAnalytics.LogScreen("Main Menu"); //Builder Hit with all App View parameters (all parameters required): googleAnalytics.LogScreen(new AppViewHitBuilder() .SetScreenName("Main Menu"));
Przydatne materiały:
Wydarzenia
Zdarzenia to przydatny sposób zbierania danych o interakcji użytkownika z interaktywnymi komponentami gry, np. o korzystaniu z danego przedmiotu. Zdarzenie składa się z 4 pól, których możesz używać do opisania interakcji użytkownika z grą.
Podstawowe
public void LogEvent(string eventCategory, string eventAction, string eventLabel, long value);
Monter
public void LogEvent(EventHitBuilder builder);
Przykład
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"));
Przydatne materiały:
Błędy i wyjątki
Pomiary awarii i wyjątków pozwalają mierzyć liczbę i rodzaj wykrytych i niewykrytych awarii oraz wyjątków, które występują w grze.
Podstawowe
public void LogException(string exceptionDescription, bool isFatal);
Monter
public void LogException(ExceptionHitBuilder builder);
Przykład
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());
Przydatne materiały:
Czas działań użytkownika
Pomiar czasu użytkownika to natywny sposób pomiaru czasu w Google Analytics. Może to być na przykład przydatne do pomiaru czasu wczytywania zasobów.
Podstawowe
public void LogTiming(string timingCategory, long timingInterval, string timingName, string timingLabel);
Monter
public void LogTiming(TimingHitBuilder builder);
Przykład
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));
Przydatne materiały:
Interakcje społecznościowe
Pomiar interakcji społecznościowych umożliwia pomiar interakcji użytkowników z umieszczonymi w treściach widżetami udostępniania w sieciach społecznościowych i rekomendacji.
Podstawowe
public void LogSocial(string socialNetwork, string socialAction, string socialTarget);
Monter
public void LogSocial(SocialHitBuilder builder);
Przykład
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"));
Przydatne materiały:
Handel elektroniczny
Pomiar e-commerce umożliwia przesyłanie do Google Analytics informacji o zakupach i sprzedaży w grze. Dane e-commerce w Google Analytics obejmują działania związane z transakcjami i produktami powiązane ze wspólnym identyfikatorem transakcji.
Transakcje
Podstawowe
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);
Monter
public void LogTransaction(TransactionHitBuilder builder);
Przykład
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));
Elementy
Podstawowe
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);
Monter
public void LogItem(ItemHitBuilder builder);
Przykład
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));
Przydatne materiały:
Niestandardowe wymiary i dane
Wymiary niestandardowe umożliwiają powiązanie metadanych z działaniami, użytkownikami i sesjami w Google Analytics, a dane niestandardowe umożliwiają tworzenie i zwiększanie własnych danych w Google Analytics.
Zanim użyjesz wymiarów i danych niestandardowych, musisz je utworzyć i skonfigurować. Po skonfigurowaniu dane można wysyłać w ramach dowolnego działania za pomocą metody Builder.
Monter
// Custom Dimension. public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric. public T SetCustomMetric(int metricNumber, string value);
Przykład
// 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"));
Przydatne materiały:
- Niestandardowe wymiary i dane – pakiet SDK na Androida
- Niestandardowe wymiary i dane – pakiet SDK na iOS
Kampanie
Pomiar kampanii w Google Analytics umożliwia przypisywanie kampanii i źródeł wizyt do aktywności użytkowników w grze.
Parametry kampanii można wysyłać w ramach dowolnego działania za pomocą metody Builder.
Monter
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);
Przykład
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");
Przydatne materiały:
Zaawansowany
Te metody są zalecane tylko dla doświadczonych użytkowników Google Analytics, którzy znają pojęcia związane z tagami śledzenia.
SetOnTracker
Ustaw wartości z trackera, aby były przesyłane razem z innymi działaniami.
Na potrzeby parametru fieldName
użyj zmiennych z pliku Assets/Plugins/Fields.cs (np. Fields.SCREEN_NAME
).
public void SetOnTracker(Field fieldName, object value);
Przykład
googleAnalytics.SetOnTracker(Fields.SCREEN_NAME, "Main Menu");
Wyrzuć
Zwolnij zarządzane zasoby i zresetuj tracker.
Jeśli usuwanie jest wywoływane, następne działanie śledzenia będzie musiało utworzyć nowy tag śledzenia. Zalecamy więc wywoływanie tej metody dopiero po całkowitym zakończeniu śledzenia. np. w metodzie onDispose()
, która uruchamia się, gdy użytkownik kończy grę.
public void Dispose();
Przykład
googleAnalytics.Dispose();