# 自動収集イベントガイド
# 自動収集を有効化
EnableAutoTrack
を呼び出してAUTO_TRACK_EVENTS
のパラメータ入力で、特定の自動収集イベントの有効化をコントロール可能です。
// auto-tracking events type
public enum AUTO_TRACK_EVENTS
{
NONE = 0,
APP_START = 1 << 0,
APP_END = 1 << 1,
APP_CRASH = 1 << 4,
APP_INSTALL = 1 << 5,
ALL = APP_START | APP_END | APP_INSTALL | APP_CRASH
}
説明:
- APP_START:ゲームがフロントに入ると
ta_app_start
がトリガーされ、プリセットプロパティ#resume_from_background
は再起動するかどうかを示します。 - APP_END:ゲームがバックグラウンドに入ると、
ta_app_end
がトリガーされ、プリセットプロパティ#duration
のフィールドはゲームの継続時間を秒単位で示します。 - APP_CRASH:捕獲されていない異常が発生すると
ta_app_crash
がトリガーされ、現在は Android プラットフォームで仮想マシンの未捕獲異常を処理します。iOS プラットフォームは Unix シグナル異常と NSException 異常を処理します。 - APP_INSTALL:アプリが最初にインストールされた後に開いたときは
ta_app_install
がトリガーされます。再インストールするかどうかは区別しません。この時間はインストール後に一度のみアップロードし、その後の更新はアップロードしません。
AUTO_TRACK_EVENTS. ALL
を取り込むことで、現在サポートされているすべての自動収集イベントを開きます。また、プロジェクトのニーズに応じて一部の自動収集イベントを開くこともできます。
// enable all auto-tracking events
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL);
// enable Open and Close events
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.APP_START | AUTO_TRACK_EVENTS.APP_END);
注:カスタムゲスト ID またはパブリックイベントプロパティを設定するには、自動収集イベントを開く前に完了する必要があります。自動収集イベントは動的パブリックプロパティをサポートしていません。
APP_CRASH
はiOS
とAndroid
上でObjective
とJava
の異常のみ収集したく、C#
の異常を収集しない場合は、v2.3.1 以上のバージョンではResources
カテゴリにta_public_config.xml
を追加することで実現できます。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- ThinkingAnalytics disable C# Exception -->
<bool name="DisableCSharpException">true</bool>
</resources>
# 自動収集イベントのカスタムプロパティ
v2.2.4 以降から、EnableAutoTrack
を呼び出して自動収集を開始する同時に、収集するカスタムプロパティを渡すことができます。
// enable aotu-tracking with properties
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL, new Dictionary<string, object>() {
{"custom_key", "custom_value"}
});
SetAutoTrackProperties
を呼び出して、特定の自動収集イベントのカスタムプロパティを指定します。
注意:SetAutoTrackProperties
は自動収集イベントの収集を有効化しません。EnableAutoTrack
と併用する必要があります。
// set properties for a auto-tracking event
ThinkingAnalyticsAPI.SetAutoTrackProperties(AUTO_TRACK_EVENTS.APP_START, new Dictionary<string, object>()
{
{"start_key", "start_value"}
});
// set properties for auto-tracking events
ThinkingAnalyticsAPI.SetAutoTrackProperties(AUTO_TRACK_EVENTS.APP_INSTALL | AUTO_TRACK_EVENTS.APP_CRASH, new Dictionary<string, object>()
{
{"install_crash_key", "install_crash_value"}
});
// enable auto-tracking for all
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL);
# 自動収集イベントコールバック設定
v2.4.0 以降、自動収集イベント コールバックの設定を対応して、カスタム プロパティをリアルタイムで設定したり、対応するイベントがトリガーされたときにカスタム コードを実行したりします。自動コレクション イベント コールバックを設定するには、新しいクラスを作成して <code>IAutoTrackEventCallback</code> インターフェイスを実装し、<code>public Dictionary<string, object> AutoTrackEventCallback(int type, Dictionary<string, object>properties)</code> メソッドをオーバーライドする必要があります。このメソッドは、イベント プロパティを設定する必要がある動的コレクションです。次に、次のように、EnableAutoTrack を呼び出して、自動収集イベントのコールバック オブジェクトを渡します。
// 1. implement auto-tracking callback
public class AutoTrackECB : IAutoTrackEventCallback
{
public Dictionary<string, object> AutoTrackEventCallback(int type, Dictionary<string, object>properties)
{
return new Dictionary<string, object>()
{
{"AutoTrackEventProperty", DateTime.Today}
};
}
}
// 2. enable auto-tracking, and set callback
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL, new AutoTrackECB());
# 自動収集イベントシーンを有効
v2.4.1 から、シーンのロードおよびアンロード イベントの自動収集がサポートされます。
シーンのロードとアンロードの委託イベントを登録することで、シーンの自動収集イベントが有効になります。MonoBehaviour
スクリプトの OnEnable
メソッドで呼び出すことをお勧めします。
private void OnEnable()
{
SceneManager.sceneLoaded += ThinkingAnalyticsAPI.OnSceneLoaded;
SceneManager.sceneUnloaded += ThinkingAnalyticsAPI.OnSceneUnloaded;
}