# C#
TIP
実装する前にデータアクセスの準備を確認しておいてください。
C# SDK はMac、Windows プラットフォームに対応しており、サイズは33KBとなります。
:::
最新バージョン: 1.3.0
更新時間: 2023-11-08
ダウンロード:SDK Source Code (opens new window)
# SDK実装
GitHub (opens new window) から C# SDK ソース コードをダウンロードし、ディレクトリ内の ThinkingData.cs
ファイルをプロジェクトに追加します。
SDKはNewtonsoft.Jsonフレームが依存しjson解析に使用されます。Visual Studio
を使用する場合はNuGet
を利用してNewtonsoft.Json
のライブラリに入れてください。
# 初期設定
ThinkingData.Analytics
を入れ、ThinkingdataAnalyticsを利用してTEインスタスの初期設定を行います。
using ThinkingData.Analytics;
TDAnalytics.Init(APPID,SERVER_URL)
パラメータ説明:
APPID
: プロジェクトのAPPID、TEプロジェクト管理画面にて取得可能SERVER_URL
: データ送信URL- SaaSの場合はプロジェクト管理→データアクセスURLにて確認してください
- プライベート構築の場合は、データ送信URLを指定することが可能
# メイン機能
メイン機能を利用する前に、ユーザー識別ルールを確認してくだ;
SDKはゲストIDを自動で作成し、ローカルで保存される;ユーザーがログインする前に、ゲストIDを身分識別IDとして使われます。
注意:ゲストIDはユーザーがアプリを再インストール時にリセットされます。
# 3.1 アカウントIDを設置
ユーザーがログインする時に、login
を呼び出して、ユーザーのアカウントIDを設定できます。TEプラットフォームはアカウントIDを身分識別IDとしてlogout
を呼び出しする前までに保留します。login
を数回呼び出すと、前のアカウントIDが上書きされます。
TDAnalytics.Login("TE");
Login
複数回呼び出すことができ、呼び出しごとに、着信したアカウント ID が以前に保存された ID と一致するかどうかが判断されます。一致する場合、呼び出しは無視され、一致しない場合は、以前の ID が上書きされます。
この方法ではログインイベントを送信されません
# 3.2 イベント送信
track
を呼び出してイベントの送信を行います。事前にデータプランをご用意の上、送信してください。以下はモデルコードとなります。例:アイテム購入
Dictionary<string, object> dic = new Dictionary<string, object>();
properties.Add("channel", "te");//string
dic.Add("id", 618834);//number
dic.Add("isSuccess", true);//boolean
dic.Add("create_date", Convert.ToDateTime("2019-7-8 20:23:22"));//time
List<string> arr = new List<string>();
arr.Add("value");
dic.Add("arr", arr);//array
TDAnalytics.Track("product_buy", dic);
- イベント名称はstringタイプで、英文字と数字、 "_"を含め、最大50文字
- イベントプロパティはDictionaryタイプです。
- Key は当プロパティの名称でstringタイプで、英文字と数字、 "_"を含め、最大50文字。TEシステムは一律で小英文字に統一されます
- Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list objectを対応しております。
ユーザープロパティはイベントプロパティと一致する必要があります
# 3.3 ユーザープロパティを設定
一般のユーザープロパティに関しては、UserSet
を利用して設定することができますが、 UserSetは元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。
TDAnalytics.UserSet(new Dictionary<string, object>(){{"user_name", "TE"}});
# コード例のまとめ
以下のコード例で全ての操作が含まれます、以下の順で利用推奨しております。
using ThinkingData.Analytics;
ThinkingdataAnalytics te = new ThinkingdataAnalytics(APPID,SERVER_URL);
//if the user has logged in, the account ID of the user could be set as the unique identifier
TDAnalytics.Login("TE");
//track
Dictionary<string, Object> dic = new Dictionary<string, object>();
properties.Add("channel", "te");//string
dic.Add("id", 618834);//number
dic.Add("isSuccess", true);//boolean
dic.Add("create_date", Convert.ToDateTime("2019-7-8 20:23:22"));//time
List<string> arr = new List<string>();
arr.Add("value");
dic.Add("arr", arr);//array
TDAnalytics.Track("product_buy", dic);
// object
Dictionary<string, object> json = new Dictionary<string, object>();
json.Add("key", "value");
dic.Add("object", json);
//array object
List<Dictionary<string, object>> arr1 = new List<Dictionary<string, object>>();
Dictionary<string, object> json1 = new Dictionary<string, object>();
json1.Add("key", "value");
arr1.Add(json1);
dic.Add("objects", arr1);
//Set user properties
TDAnalytics.UserSet(new Dictionary<string, object>(){{"user_name", "TE"}});