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

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

簡介

使用 Unity 適用的 Google Analytics (分析) 外掛程式將資料傳送至 Google Analytics (分析) 時,您可以使用基本方法或 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

設定要與其他命中一起傳送的追蹤程式值。

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

public void SetOnTracker(Field fieldName, object value);

範例

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

處置

釋出代管資源並重設追蹤器。

如果處置被呼叫,下一次追蹤命中就必須建立新的追蹤項目,因此建議只在完成追蹤程序完成後才呼叫這個方法。舉例來說,在使用者退出遊戲時執行的 onDispose() 方法中。

public void Dispose();

範例

googleAnalytics.Dispose();