Google Analytics-Plug-in für Unity – API-Referenz

In diesem Dokument wird beschrieben, wie Daten gesendet werden. Außerdem sind alle Methoden für das Google Analytics-Plug-in für Unity aufgeführt.

Einleitung

Wenn Sie Daten mit dem GA-Plug-in für Unity an Google Analytics senden, können Sie die Basic- oder die Builder-Methode verwenden. Builder-Methoden sind erforderlich, wenn Sie Kampagnenparameter oder benutzerdefinierte Dimensionen oder Messwerte an Treffer anhängen möchten. Treffer können mit beiden Methoden gesendet werden.

Folgen Sie dem Entwicklerleitfaden, um das Google Analytics-Plug-in für Unity für Ihr Projekt einzurichten und zu konfigurieren.

Allgemein

Treffer für die Auslösung

Sendet Treffer (Aufrufe, Ereignisse usw.) an Google Analytics, wenn eine Netzwerkverbindung verfügbar ist.

public void DispatchHits();

Weitere Informationen:

Sitzungssteuerung

Eine Sitzung steht für einen einzelnen Zeitraum, in dem Nutzer mit Ihrem Spiel interagieren. Sitzungen dienen als nützliche Container für gemessene Aktivitäten, einschließlich Bildschirmaufrufen, Ereignissen und E-Commerce-Transaktionen.

Mit den folgenden Methoden können Sie den Start oder das Ende einer Sitzung erzwingen.

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

Weitere Informationen:

Bildschirme

Bildschirme in Google Analytics stellen Inhalte dar, die sich Nutzer in Ihrem Spiel ansehen. Bildschirmansichten bestehen aus einem einzelnen Stringfeld, das in Google Analytics-Berichten als Bildschirmname verwendet wird.

Einfach

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

Beispiel

googleAnalytics.LogScreen("Main Menu");

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

Weitere Informationen:

Veranstaltungen

Ereignisse sind nützlich, um Daten zur Interaktion eines Nutzers mit interaktiven Komponenten Ihres Spiels zu erheben, z. B. die Verwendung eines bestimmten Artikels. Ein Ereignis besteht aus vier Feldern, mit denen Sie die Interaktion eines Nutzers mit Ihrem Spiel beschreiben können.

Einfach

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

Builder

public void LogEvent(EventHitBuilder builder);

Beispiel

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

Weitere Informationen:

Abstürze und Ausnahmen

Mit der Absturz- und Ausnahmemessung können Sie die Anzahl und Art der abgefangenen und nicht abgefangenen Abstürze und Ausnahmen in Ihrem Spiel messen.

Einfach

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

Beispiel

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

Weitere Informationen:

Nutzertiming

Das Messen des Nutzertimings bietet eine native Möglichkeit, einen Zeitraum in Google Analytics zu messen. Dies kann beispielsweise nützlich sein, um die Ladezeiten von Ressourcen zu messen.

Einfach

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

Builder

public void LogTiming(TimingHitBuilder builder);

Beispiel

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

Weitere Informationen:

Soziale Interaktionen

Mit der Messung sozialer Interaktionen können Sie die Interaktionen eines Nutzers mit verschiedenen Widgets zum Teilen von Inhalten und Empfehlungen in sozialen Netzwerken messen, die in Ihre Inhalte eingebettet sind.

Einfach

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

Builder

public void LogSocial(SocialHitBuilder builder);

Beispiel

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

Weitere Informationen:

E-Commerce

Mit der E-Commerce-Messung können Sie In-Game-Käufe und -Verkäufe an Google Analytics senden. Die E-Commerce-Daten in Google Analytics umfassen Transaktions- und Artikeltreffer, die über eine gemeinsame Transaktions-ID verknüpft sind.

Transaktionen

Einfach

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

Beispiel

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

Elemente

Einfach

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

Beispiel

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

Weitere Informationen:

Benutzerdefinierte Attribute und Messwerte

Benutzerdefinierte Dimensionen ermöglichen die Verknüpfung von Metadaten mit Treffern, Nutzern und Sitzungen in Google Analytics. Mit benutzerdefinierten Messwerten können Sie hingegen eigene Messwerte in Google Analytics erstellen und erhöhen.

Sie müssen benutzerdefinierte Dimensionen und Messwerte erstellen und konfigurieren, bevor Sie sie verwenden können. Nach der Konfiguration können Daten mithilfe der Builder-Methode als Teil eines Treffers gesendet werden.

Builder

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

Beispiel

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

Weitere Informationen:

Kampagnen

Durch das Messen von Kampagnen in Google Analytics können Sie Kampagnen und Besucherquellen den Nutzeraktivitäten in Ihrem Spiel zuordnen.

Kampagnenparameter können mithilfe der Builder-Methode als Teil eines Treffers gesendet werden.

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

Beispiel

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

Weitere Informationen:

Erweitert

Diese Methoden werden nur für Poweruser von Google Analytics empfohlen, die mit Tracker-Konzepten vertraut sind.

SetOnTracker

Legen Sie Werte auf dem Tracker fest, die zusammen mit anderen Treffern gesendet werden sollen.

Verwenden Sie Variablen aus Assets/Plugins/Fields.cs für den Parameter fieldName (z.B. Fields.SCREEN_NAME).

public void SetOnTracker(Field fieldName, object value);

Beispiel

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

Entsorgen

Verwaltete Ressourcen freigeben und Tracker zurücksetzen.

Wenn „Beseitigung“ aufgerufen wird, muss der nächste Tracking-Treffer einen neuen Tracker erstellen. Daher wird empfohlen, diese Methode nur aufzurufen, wenn das Tracking vollständig abgeschlossen ist. Zum Beispiel in einer onDispose()-Methode, die ausgeführt wird, wenn der Nutzer Ihr Spiel beendet.

public void Dispose();

Beispiel

googleAnalytics.Dispose();