# C#
:::: Tips
実装する前にデータアクセスの準備を確認しておいてください。
C# SDK は Mac、Windows プラットフォームに対応しており、サイズは 29KB となります。
:::
最新バージョン: v1.1.0
更新時間: 2022-09-27
ダウンロード: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;
ThinkingdataAnalytics ta = new ThinkingdataAnalytics(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 が上書きされます。
te.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
te.Track("product_buy", dic);
- イベント名称は string タイプで、英文字と数字、 "_"を含め、最大 50 文字
- イベントプロパティは Dictionary タイプです。
- Key は当プロパティの名称で string タイプで、英文字と数字、 "_"を含め、最大 50 文字。TE システムは一律で小英文字に統一されます
- Value は当プロパティの値で、String, Number, Bloon, Time, object, array, list object を対応しております。
ユーザープロパティはイベントプロパティと一致する必要があります
# 3.3 ユーザープロパティを設定
一般のユーザープロパティに関しては、UserSet
を利用して設定することができますが、 UserSet は元の値を上書きされます。本来該当プロパティに値がない場合は、プロパティが新規作成されます。以下はコード例となります。
te.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
te.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
te.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
te.UserSet(new Dictionary<string, object>(){{"user_name", "TE"}});