Unity 向け Google アナリティクス プラグイン - API リファレンス

このドキュメントでは、データの送信方法について説明し、Unity 向け Google アナリティクス プラグインのすべてのメソッドを示します。

はじめに

Unity 向け Google アナリティクス プラグインを使って Google アナリティクスにデータを送信する場合は、基本メソッドまたはビルダー メソッドを使用できます。ヒットにキャンペーン パラメータ、カスタム ディメンション、またはカスタム指標を追加するには、ビルダー メソッドが必要です。ヒットはどちらの方法でも同じ意味で送信できます。

デベロッパー ガイドに沿って、Unity 向け Google アナリティクス プラグインをプロジェクトに設定および構成します。

汎用

ディスパッチのヒット

ネットワーク接続を利用できる場合に、ヒット(ビュー、イベントなど)を Google アナリティクスにディスパッチします。

public void DispatchHits();

関連資料:

セッション コントロール

セッションとは、ユーザーがゲームで操作した単一の期間を表します。セッションは測定されたアクティビティのコンテナとして機能し、スクリーン ビュー、イベント、e コマース トランザクションなどが含まれます。

次の方法で、セッションの開始または終了を強制的に開始できます。

// 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 アナリティクスのスクリーンは、ユーザーがゲーム内で表示しているコンテンツを表します。スクリーン ビューは、Google アナリティクス レポートでスクリーン名として使用される単一の文字列フィールドで構成されます。

基本

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

関連資料:

イベント

イベントは、特定のアイテムの使用など、ゲームのインタラクティブ コンポーネントに対するユーザーの操作に関するデータを収集する便利な方法です。イベントは、ゲームに対するユーザーの操作を説明するために使用できる 4 つのフィールドで構成されます。

基本

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 アナリティクスで時間の長さを測定するために備わっている機能で、たとえば、リソースの読み込み時間の測定に役立ちます。

基本

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

関連資料:

e コマース

e コマース測定では、ゲーム内の購入と売り上げのデータを Google アナリティクスに送信できます。Google アナリティクスの e コマースデータは、共通のトランザクション 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 アナリティクスのメタデータとヒット、ユーザー、セッションを 関連付けることができ、カスタム指標では Google アナリティクスで独自の指標を作成して 増やすことができます。

カスタム ディメンションとカスタム指標は、 使用する前に作成して設定する必要が あります。設定後は、ビルダー メソッドを使用してデータをヒットの一部として送信できます。

Builder

// Custom Dimension.
public T SetCustomDimension(int dimensionNumber, string value);
// Custom Metric.
public T SetCustomMetric(int metricNumber, float 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, 81.5));

関連資料:

キャンペーン

Google アナリティクスでキャンペーンを測定すると、キャンペーンとトラフィック ソースをゲーム内のユーザー アクションに結び付けることができます。

キャンペーン パラメータは、ビルダー メソッドを使用してヒットの一部として送信できます。

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 アナリティクスのパワーユーザーにのみおすすめします。

SetOnTracker

他のヒットと一緒に送信する値をトラッカーに設定します。

fieldName パラメータには Assets/Plugins/Fields.cs の変数を使用します(例: Fields.SCREEN_NAME)。

public void SetOnTracker(Field fieldName, object value);

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

破棄

管理対象リソースを解放し、トラッカーをリセットします。

dispose が呼び出されると、次のトラッキング ヒットは新しいトラッカーを作成する必要があるため、トラッキングが完了したときにのみ、このメソッドを呼び出すことをおすすめします。たとえば、ユーザーがゲームを終了したときに実行される onDispose() メソッド内です。

public void Dispose();

googleAnalytics.Dispose();