Unity 適用的 Google Analytics (分析) 外掛程式 - API 參考資料

本文件說明如何傳送資料,並列出 Unity 專用 Google Analytics (分析) 外掛程式的所有方法。

簡介

使用 Unity 專用 Google Analytics (分析) 外掛程式將資料傳送至 Google Analytics (分析) 時,可以採用 Basic 方法或 Builder 方法。如要將廣告活動參數、自訂維度或指標附加至命中,就必須使用 Builder 方法。您可以使用任一方法交替傳送命中。

按照開發人員指南的說明,為專案設定並設定 Unity 適用的 Google Analytics (分析) 外掛程式。

一般

調度金曲

在有網路連線的情況下,將命中 (檢視、事件等) 調派給 Google Analytics (分析)。

public void DispatchHits();

相關資源:

工作階段控制

工作階段代表使用者與遊戲互動的一段時間。工作階段可做為已評估活動的實用容器,包括畫面瀏覽、事件和電子商務交易。

下列方法可用來強制開始或結束工作階段。

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

相關資源:

主螢幕

Google Analytics (分析) 中的畫面代表使用者在遊戲中檢視的內容。畫面瀏覽是由單一字串欄位組成,用來做為 Google Analytics (分析) 報表中的畫面名稱。

基本

public void LogScreen(string title);

Builder

public void LogScreen(AppViewHitBuilder builder);

範例

googleAnalytics.LogScreen("Main Menu");

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

相關資源:

活動

如要收集使用者與遊戲互動元件的互動資料,例如特定項目的使用情形,事件是相當實用的方法。事件包含四個欄位,可用來描述使用者與遊戲的互動情形。

基本

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

Builder

public void LogEvent(EventHitBuilder builder);

範例

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

相關資源:

當機和例外狀況

您可以透過當機和例外狀況評估功能,評估遊戲中偵測到與未偵測到的當機和例外狀況的次數與類型。

基本

public void LogException(string exceptionDescription, bool isFatal);

Builder

public void LogException(ExceptionHitBuilder builder);

範例

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

相關資源:

使用者載入時間

評估使用者時間是一種在 Google Analytics (分析) 中評估不同時段的原生方式。舉例來說,這項指標可用來測量資源載入時間。

基本

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

Builder

public void LogTiming(TimingHitBuilder builder);

範例

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

相關資源:

社交互動

社交互動評估可讓您評估使用者與各種社交網路分享和嵌入內容推薦小工具的互動。

基本

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

Builder

public void LogSocial(SocialHitBuilder builder);

範例

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

相關資源:

電子商務

電子商務評估可讓您將遊戲內購買和銷售資料傳送至 Google Analytics (分析)。Google Analytics (分析) 中的電子商務資料是由交易和項目命中組成,與共用的交易 ID 有關。

交易

基本

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

範例

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

項目

基本

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

範例

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

相關資源:

自訂維度和指標

自訂維度可讓您在 Google Analytics (分析) 中連結中繼資料與命中、使用者和工作階段,自訂指標則可讓您在 Google Analytics (分析) 中建立並增加自己的指標。

您必須先建立及設定 自訂維度和自訂指標,才能使用這些項目。設定完成後,您可以使用 Builder 方法,將資料做為任何命中的一部分傳送。

Builder

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

範例

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

相關資源:

廣告活動

在 Google Analytics (分析) 中評估廣告活動後,您就能將廣告活動和流量來源歸因於遊戲中的使用者活動。

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

範例

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

相關資源:

進階

我們建議只有熟悉追蹤器概念的 Google Analytics (分析) 進階使用者才能使用這些方法。

SetOnTracker

在追蹤工具上設定要與其他命中一起傳送的值。

針對 fieldName 參數使用 Assets/Plugins/Fields.cs 中的變數 (例如 Fields.SCREEN_NAME)。

public void SetOnTracker(Field fieldName, object value);

範例

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

處置

釋出受管理的資源並重設追蹤器。

如果處置為下一次追蹤命中,就必須建立新的追蹤程式,因此建議只在完整追蹤完畢之後呼叫這個方法。例如,在使用者退出遊戲時執行的 onDispose() 方法。

public void Dispose();

範例

googleAnalytics.Dispose();