高度なインテグレーション
マネタイゼーション

カスタムイベント

ゲーム ユーザーがゲーム内で行う特定のアクションなら、どんなものでもカスタムイベントにすることができます。カスタムイベントにすると、Unity Analytics が自動では追跡しないプレイヤーの行動、例えば、レベルの達成、シーンの変更、ストア入店、ゲームオブジェクトとのインタラクションなど、を追跡することができます。各カスタムイベントにはそれぞれのパラメーターがあります。イベントに独自のパラメーターを設定することにより、イベントが発生したときに収集されたデータをフィルターすることができます。カスタムイベントの Visualization ツールは Analytics Dashboard にあり、Data Explorer、Funnel Analyzer、Segment Builder などが含まれています。

// Reference the Unity Analytics namespace
using UnityEngine.Analytics;

//  Use this call for wherever a player triggers a custom event
Analytics.CustomEvent(string customEventName,
IDictionary<string, object> eventData);
Analytics.CustomEvent 入力パラメーター
名前 詳細
customEventName string カスタムイベントの名前。名前にプレフィックス「unity」を含むことは不可。 — 「unity」は予約されたキーワード。
eventData dictionary 追加パラメーターは、カスタムイベントがトリガーしときに Unity Analytics に送信される。eventData キーはプレフィックス「unity」を含むことは不可。 — 「unity」は予約されたキーワード。

カスタムイベントに関する注意事項

  • 一貫性を保つよう、気を付けてください。イベントデータの各パラメーターでは、一貫したデータタイプを維持してください。 例えば、レベルパラメーターに数字を入力したのに、次に文字列に変えるということをしないでください。そのようなことを行うと、エラーのようなビヘイビアを招き、データの分析が難しくなります。
    • Boolean (true/false)
    • 文字列 (character)
    • 数字 (int、float など)
  • カスタムイベントごとに持てるパラメーターの数はデフォルトで 10 個までに制限されています。
    • パラメーターの数が上限を超えた場合は、戻り値として AnalyticsResult.TooManyItems が呼び出されます。
  • dictionary のコンテンツでは、デフォルトで 500 文字 までに制限されています。
    • 500 文字を超えた場合、戻り値として AnalyticsResult.SizeLimitReached が呼び出されます。
  • 1 時間毎、ユーザーごとに、使用できるカスタムイベントは、デフォルトで 100 に制限されています。
    • 1 時間当たりの呼び出しが制限値の 100 イベントを超えた場合、戻り値として AnalyticsResult.TooManyRequests が呼び出されます。
  • Analytics のシステムで、パラメーターがどのように解析されるか示します。
    • すべての number、int、float は、string 型(文字列)として送られた場合であっても、数字として解析されます。
    • 「分類できる」のは、string と boolean のみになります。
    • よって、必要に応じて合計や平均を求めたい場合は、数値(例:51、または、’51’)として集計しておきます。レベルやオプションなどとして分類する場合は、必ず文字列 (例: ‘Level51’) として解析できるようにしてください。

以下の例では、ゲームが終了したときにユーザーがインベントリ内に何を持っていたのかを調べようとしています。

// Reference the Collections Generic namespace
  using System.Collections.Generic;

  int totalPotions = 5;
  int totalCoins = 100;
  string weaponID = "Weapon_102";
  Analytics.CustomEvent("gameOver", new Dictionary<string, object>
  {
    { "potions", totalPotions },
    { "coins", totalCoins },
    { "activeWeapon", weaponID }
  });

実行する

カスタムイベントのテストをサーバーに送ってインテグレーションを検証するためには、エディター プレイ モードの間にカスタムイベントをトリガーします。

インテグレーションが成功すると、以下の表にテストデータが表示されます。

検証

高度なインテグレーション
マネタイゼーション