Wtyczka Google Analytics do Unity – dokumentacja interfejsu API

W tym dokumencie opisujemy, jak wysyłać dane i wymieniamy wszystkie metody wtyczki Google Analytics dla Unity.

Wstęp

Podczas wysyłania danych do Google Analytics za pomocą wtyczki Google Analytics do Unity możesz użyć metody Basic lub Builder. Metody konstruktora są wymagane, jeśli do działań chcesz dołączać parametry kampanii, wymiary lub dane niestandardowe. Działania można przesyłać za pomocą obu metod zamiennie.

Postępuj zgodnie z przewodnikiem dla programistów, aby skonfigurować wtyczkę Google Analytics dla Unity w swoim projekcie.

Ogólne

Działania związane z wysyłaniem

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 mierzonej aktywności, w tym wyświetlenia ekranu, zdarzenia i transakcje e-commerce.

Za pomocą poniższych metod można wymusić 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 oglądane 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 przydatna metoda zbierania danych o interakcjach użytkowników z interaktywnymi komponentami gry, np. o korzystaniu z konkretnych przedmiotów. Zdarzenie składa się z 4 pól, w których możesz opisać interakcję 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

Pomiar awarii i wyjątków pozwala zmierzyć 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 różnymi widżetami udostępniania w sieciach społecznościowych i widżetami rekomendacji umieszczonymi w Twoich treściach.

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 wysył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ą łączenie 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, float 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, 81.5));

Przydatne materiały:

Kampanie

Pomiar kampanii w Google Analytics pozwala przypisywać kampanie i źródła 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 wyłącznie dla doświadczonych użytkowników Google Analytics, którzy znają pojęcia związane z tagami śledzenia.

SetOnTracker

Ustaw wartości w tagu śledzenia, aby były przesyłane razem z innymi działaniami.

Użyj zmiennych z pliku Assets/Plugins/Fields.cs dla parametru fieldName (np. Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Przykład

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

Wywóz

Zwolnij zarządzane zasoby i zresetuj tracker.

Jeśli polecenie utylizacja jest wywoływane, następne działanie śledzące będzie musiało utworzyć nowy tag śledzenia, dlatego zaleca się wywoływanie tej metody dopiero po zakończeniu śledzenia. np. w metodzie onDispose(), która jest uruchamiana, gdy użytkownik wyjdzie z gry.

public void Dispose();

Przykład

googleAnalytics.Dispose();