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 アナリティクスにおいて、スクリーンはゲーム内でユーザーに表示されるコンテンツを指します。スクリーンビューは 1 つの文字列フィールドを持ち、このフィールドの値が Google アナリティクス レポートに表示されるスクリーン名になります。

基本

public void LogScreen(string title);

ビルダー

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

ビルダー

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

ビルダー

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

ビルダー

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

ビルダー

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

ビルダー

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

ビルダー

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 アナリティクスで独自の指標を作成して 増やすことができます。

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

ビルダー

// 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 アナリティクスでキャンペーンを測定すると、キャンペーンとトラフィックの参照元をゲームでのユーザー行動に結び付けること(アトリビューション)ができます。

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

ビルダー

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 パラメータ(Fields.SCREEN_NAME など)には、 Assets/Plugins/Fields.cs の変数を使用します。

public void SetOnTracker(Field fieldName, object value);

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

Dispose

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

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

public void Dispose();

googleAnalytics.Dispose();