目录
此内容是否有帮助?

# C#

最新バージョン:1.4.0

更新時間:2022-05-06

ダウンロードsource code (opens new window)dll (opens new window)

# SDK 実装

  1. ダウンロードSDK ファイル (opens new window),解凍後に dll を引用
  2. Logbus をインストール

TE システムにより迅速かつ正確なデータを転送するために、SDK + LogBus の併用でサーバデータのデータレポートを推奨しております。

# 初期設定

以下は SDK の初期設定のフォーマットコードとなります:

using ThinkingData.Analytics
ThinkingdataAnalytics te = new ThinkingdataAnalytics(new LoggerConsumer(LOG_DIRECTORY));

LOG_DIRECTORYはローカルアクセスファイルのアドレスとなります。LogBus のモニターアドレスをこのアドレスに設定すれば自動でアップロードされます。

# メイン機能

ゲスト ID とアカウント ID をうまく紐付けるために、もしゲーム内でゲスト ID とアカウント ID 両方を使われる場合は、それらの ID を同時にアップロードするのを推奨しております。同時にアップロードしない場合は、ユーザーを重複にカウントされてしまう可能性があります。

# 3.1 イベント送信

trackを利用してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。

Dictionary<string, object> properties= new Dictionary<string, object>();

properties.Add("#ip", "123.123.123.123");
properties.Add("channel", "TE");// string
properties.Add("age", 1);// number
properties.Add("is_success", true);// bool
List<string> list = new List<string>();
list.Add("value");
properties.Add("array",list);// array

Dictionary<string, Object> object = new Dictionary<string, object>();
object.Add("key", "vale");
properties.Add("object", object); // object
// object group
List<Object> object_arr = new List<Object>();
object_arr.Add(object);
properties.Add("object_arr", objet_arr);

te.Track("accountId", "distinctId", "Payment", properties);
  • イベント名称は string タイプで、英文字と数字、 "_"を含め、最大 50 文字
  • Key は当プロパティの名称で string タイプで、英文字と数字、 "_"を含め、最大 50 文字。TE システムは一律で小英文字に統一されます
  • Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list object を対応しております。

# 3.2 ユーザープロパティを設定

一般のユーザープロパティに関しては、UserSetを利用して設定することができますが、 UserSet は元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。

// username is TA
Dictionary<string, object> properties= new Dictionary<string, object>();
properties.Add("user_name","TA");
te.UserSet("accountId","distinctId", properties);
// userName is TE
Dictionary<string, object> newProperties= new Dictionary<string, object>();
newProperties.Add("user_name","TE");

te.UserSet("accountId","distinctId", newProperties);

# コード例のまとめ

以下のコード例で全ての操作が含まれます、以下の順で利用推奨しております。

using ThinkingData.Analytics
// inti SDK
ThinkingdataAnalytics te = new ThinkingdataAnalytics(new LoggerConsumer(LOG_DIRECTORY));

Dictionary<string, object> properties= new Dictionary<string, object>();
properties.Add("#ip", "123.123.123.123");
properties.Add("channel", "TE");
properties.Add("age", 1);
properties.Add("is_success", true);

List<string> list = new List<string>();
list.Add("value");
properties.Add("array",list);

Dictionary<string, Object> object = new Dictionary<string, object>();
object.Add("key", "vale");
properties.Add("object", object);

List<Object> object_arr = new List<Object>();
object_arr.Add(object);
properties.Add("object_arr", objet_arr);

te.Track("accountId", "distinctId", "Payment", properties);

Dictionary<string, object> properties= new Dictionary<string, object>();
properties.Add("user_name","TE");

te.UserSet("accountId","distinctId", properties);
te.Flush();