メインコンテンツまでスキップ

C#

最終更新 2026/10/05
ヒント

接続する前に、まず接続前の準備をお読みください。

C# SDKはWindows、Macプラットフォームで動作します。

最新バージョン: 2.0.1

更新日: 2025-10-13

リソースのダウンロード: SDKソースコード ダウンロード

注意

このドキュメントはv2.0.0以降のバージョンを対象としています。以前のバージョンについては、C#接続ガイド(旧)を参照してください

1. SDKの統合​

1.1 SDKのダウンロード​

GitHubからC# SDKのソースコードをダウンロードし、TDAnalyticsSDKディレクトリ配下のファイルをプロジェクトに追加します。

SDKはjsonの解析にNewtonsoft.Jsonフレームワークを使用しています。Visual Studioを使用している場合は、NuGetでNewtonsoft.Jsonライブラリを追加してください。

1.2 動的ライブラリの追加​

  • dllをダウンロードして解凍します(どちらか一方をダウンロードすれば十分です)

  • Windowsプラットフォームでは、windowsフォルダー内のdllファイルをプロジェクトのルートディレクトリにコピーします。(注意:dllがプロジェクトの既存のdllと競合する場合は、プロジェクトの既存のものを使用してください)

  • Macプラットフォーム

    • ステップ1:homebrewでsqlite、curl、zlib、opensslの4つのライブラリをインストールします
    • ステップ2:macOSフォルダー内のライブラリファイル(libCppWrapper.dylib、libthinkingdata.a)をプロジェクトのルートディレクトリにコピーします

2. 初期化​

ThinkingData.Analyticsをインポートし、TDAnalyticsクラスを使用してAEインスタンスを初期化します。

using ThinkingData.Analytics;
TDAnalytics.Init(APPID,SERVER_URL);

パラメータの説明:

  • APPID: プロジェクトのAPPIDです。AE管理画面の「プロジェクト管理」ページで取得できます

  • SERVER_URL: データの送信先URL

    • クラウドサービスをご利用の場合は、次を入力します: https://global-receiver-ta.thinkingdata.cn
    • プライベートデプロイ版をご利用の場合は、データ収集アドレスにドメインをバインドし、HTTPS証明書を設定してください:https://データ収集アドレスにバインドしたドメイン

3. よく使う機能​

よく使う機能を使用する前に、まずユーザー識別ルールを確認することをお勧めします。SDKはデフォルトで乱数を生成してゲストIDとし、ゲストIDをローカルに永続的に保存します。ユーザーがログインするまでは、ゲストIDが識別IDとして使われます。注意:ゲストIDは、ユーザーがAppを再インストールしたり、デバイスを変更したりすると変わります。

3.1 アカウントIDの設定​

ユーザーがログインする際にLoginを呼び出してユーザーのアカウントIDを設定できます。AEプラットフォームはアカウントIDを識別IDとして使用し、設定したアカウントIDはLogoutを呼び出すまで保持されます。Loginを複数回呼び出すと、以前のアカウントIDが上書きされます。

TDAnalytics.Login("TA");

Loginは複数回呼び出せます。呼び出すたびに、渡されたアカウントIDが以前に保存したIDと一致するかどうかを判定し、一致する場合は呼び出しを無視し、一致しない場合は以前のIDを上書きします。

このメソッドはログインイベントを送信しません

3.2 イベントの送信​

Trackを呼び出してイベントを送信できます。事前に整理したトラッキングドキュメントに従って、イベントのプロパティと送信条件を設定することをお勧めします。ここでは、ユーザーが商品を購入する場合を例にします:

Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("channel", "ta");//文字列
dic.Add("id", 618834);//数値
dic.Add("isSuccess", true);//ブール
dic.Add("create_date", Convert.ToDateTime("2019-7-8 20:23:22"));//時間
List<string> arr = new List<string>();
arr.Add("value");
dic.Add("arr", arr);//配列
TDAnalytics.Track("product_buy", dic);
  • イベント名は文字列型で、英字で始まり、数字、英字、アンダースコア"_"を含めることができます。最大長は50文字です。

  • イベントのプロパティはDictionary型です

    • Keyはプロパティの名前で、文字列型です。英字で始まり、数字、英字、アンダースコア"_"のみを含めることができます。最大長は50文字です。英字の大文字と小文字は区別されず、AEではすべて小文字に変換されます
    • Valueはそのプロパティの値で、文字列、数値、ブール、時間、オブジェクトを使用できます

ユーザープロパティの要件は、イベントプロパティと同じです

3.3 ユーザープロパティの設定​

一般的なユーザープロパティは、UserSetを呼び出して設定できます。このインターフェースで送信したプロパティは、既存のプロパティ値を上書きします。そのユーザープロパティが以前に存在しない場合は新しく作成され、タイプは渡されたプロパティのタイプと同じになります。ここでは、ユーザー名の設定を例にします:

TDAnalytics.UserSet(new Dictionary<string, object>(){{"user_name", "TA"}});

4. ベストプラクティス​

次のサンプルコードには、上記のすべての操作が含まれています。次の手順で使用することをお勧めします:

using ThinkingData.Analytics;
//SDKを初期化
TDAnalytics.Init(APPID,SERVER_URL);
//ユーザーがログイン済みの場合は、ユーザーのアカウントIDを一意の識別子として設定できます
TDAnalytics.Login("TA");
//イベントを送信
Dictionary<string, Object> dic = new Dictionary<string, object>();
dic.Add("channel", "ta");//文字列
dic.Add("id", 618834);//数値
dic.Add("isSuccess", true);//ブール
dic.Add("create_date", Convert.ToDateTime("2019-7-8 20:23:22"));//時間
List<string> arr = new List<string>();
arr.Add("value");
dic.Add("arr", arr);//配列
// 複合データオブジェクト
Dictionary<string, object> json = new Dictionary<string, object>();
json.Add("key", "value");
dic.Add("object", json);
// 複合データオブジェクトの配列
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);
TDAnalytics.Track("product_buy", dic);
//ユーザープロパティを設定
TDAnalytics.UserSet(new Dictionary<string, object>(){{"user_name", "TA"}});
このページは役に立ちましたか?