macOS
接続する前に、接続前の準備をお読みください。
macOS SDKの最小システムバージョンはOSX 10.11です
最新バージョン: v3.0.4
更新日: 2024-08-01
リソースのダウンロード: ソースコード
Betaバージョン: v3.0.5-beta.1
iOS SDKはv3.0.0からmacOSプラットフォームに対応しています
1. SDKの統合
CocoaPodsでSDKをインストールする
1. Podfileを作成して編集します(すでにある場合は直接編集します):
Podfileを作成します。プロジェクト(.xcodeproj)ファイルと同じディレクトリで、コマンドラインから次のコマンドを実行します:
pod init
Podfileを次のように編集します:
platform :osx, '10.10'
target 'YourProjectTarget' do
pod 'ThinkingSDK'
end
2. インストールコマンドを実行します
pod install
3. インポートに成功したら、プロジェクトを起動します
コマンドの実行に成功すると.xcworkspaceファイルが生成されます。これはSDKのインポートに成功したことを示します。.xcworkspaceファイルを開いてプロジェクトを起動します(注意:このとき.xcodeprojファイルを同時に開くことはできません)
2. 初期化
メインスレッドで初期化を行います。サンプルコードは次のとおりです:
- Objective-C
- Swift
#import <ThinkingSDK/ThinkingSDK.h>
// SDK needs to be initialized on the main thread
NSString *appid = @"APPID";
NSString *url = @"SERVER_URL";
// the first way
[TDAnalytics startAnalyticsWithAppId:appid serverUrl:url];
// the second way
TDConfig *config = [[TDConfig alloc] init];
config.appid = appid;
config.serverUrl = url;
[TDAnalytics startAnalyticsWithConfig:config];
// SDK needs to be initialized on the main thread
let appid = "APPID";
let url = "SERVER_URL";
// the first way
TDAnalytics.start(withAppId: appid, serverUrl: url)
// the second way
let config = TDConfig(appId: appid, serverUrl: url)
TDAnalytics.start(with: config)
パラメータの説明:
-
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が上書きされます。
- Objective-C
- Swift
// ユーザーのログイン時の一意の識別子。このデータは送信データの#account_idに対応し、この場合#account_idの値はTDになります
[TDAnalytics login:@"TD"];
// ユーザーのログイン時の一意の識別子。このデータは送信データの#account_idに対応し、この場合#account_idの値はTDになります
TDAnalytics.login("TD")
このメソッドはログインイベントを送信しません
3.2 共通イベントプロパティの設定
共通イベントプロパティとは、すべてのイベントに付与されるプロパティのことです。setSuperPropertiesを呼び出して共通イベントプロパティを設定できます。イベントを送信する前に、共通イベントプロパティを設定しておくことを推奨します。ユーザーの会員レベルや流入チャネルなどの重要なプロパティは、すべてのイベントに設定する必要があります。その場合は、これらのプロパティを共通イベントプロパティとして設定できます。
- Objective-C
- Swift
NSDictionary *superProperties = @{
@"channel": @"ta",
@"age": @1,
@"isSuccess": @YES,
@"birthday": [NSDate date],
@"object": @{
@"key":@"value"
},
@"object_arr":@[
@{
@"key":@"value"
}
],
@"arr": @[@"value"],
};
[TDAnalytics setSuperProperties:superProperties];
var superProperties: [String : Any] = [:]
superProperties["channel"] = "ta" //文字列
superProperties["age"] = 1 //数値
superProperties["isSuccess"] = true //ブール値
superProperties["birthday"] = Date() //時間
superProperties["object"] = [
"key": "value"
] //オブジェクト
superProperties["object_arr"] = [["key": "value"]] // オブジェクトグループ
superProperties["arr"] = ["value"] // 配列
//共通イベントプロパティを設定
TDAnalytics.setSuperProperties(superProperties)
共通イベントプロパティはキャッシュに保存されるため、Appを起動するたびに呼び出す必要はありません。setSuperProperties:を呼び出して、以前に設定済みの共通イベントプロパティを設定した場合は、以前のプロパティが上書きされます。
- イベントのプロパティは
NSDictionaryオブジェクトで、各要素が1つのプロパティを表します。 - Keyはプロパティの名前で、文字列型です。英字で始まり、数字、英字、アンダースコア"_"のみを含めることができます。最大長は50文字です。英字の大文字と小文字は区別されず、AEではすべて小文字に変換されます
- Valueはプロパティの値で、文字列、数値、ブール値、時間、オブジェクト、オブジェクトグループ、配列に対応しています
- ブール型のプロパティを送信する場合は、
@YESと@NO、または[NSNumber numberWithBool:YES]と[NSNumber numberWithBool:NO]で値を代入してください。@true、@false、@TRUE、@FALSEでブール型のデータを代入することはできません。
イベントプロパティとユーザープロパティの要件は、共通イベントプロパティと同じです
3.3 イベントの送信
trackを呼び出してイベントを送信できます。事前に整理したトラッキングドキュメントに従って、イベントのプロパティと送信条件を設定することをお勧めします。ここでは、ユーザーが商品を購入する場合を例にします:
- Objective-C
- Swift
// 商品購入イベントを送信
NSDictionary *eventProperties = @{@"product_name": @"book"};
[TDAnalytics track:@"product_buy" properties:eventProperties];
// 商品購入イベントを送信
let properties = ["product_name": "book"] as [String: Any]
TDAnalytics.track("product_buy", properties: properties)
イベント名は文字列型で、英字で始まり、数字、英字、アンダースコア"_"を含めることができます。最大長は50文字です。
3.4 ユーザープロパティの設定
一般的なユーザープロパティは、userSet:を呼び出して設定できます。このインターフェースで送信したプロパティは、既存のプロパティ値を上書きします。そのユーザープロパティが以前に存在しない場合は新しく作成され、タイプは渡されたプロパティのタイプと同じになります。ここでは、ユーザー名の設定を例にします:
- Objective-C
- Swift
// "username" is "ThinkingData"
[TDAnalytics userSet:@{@"username": @"ThinkingData"}];
// "username" is "TA"
[TDAnalytics userSet:@{@"username": @"TA"}];
// ユーザープロパティを設定
//この時点で"username"は"ThinkingData"
TDAnalytics.userSet(["username": "ThinkingData"])
//この時点で"username"は"TA"
TDAnalytics.userSet(["username": "TA"])
4. ベストプラクティス
次のサンプルコードには、上記のすべての操作が含まれています。次の手順で使用することをお勧めします:
if (プライバシーポリシーに同意済み) {
// enable log
[TDAnalytics enableLog:NO];
// SDK needs to be initialized on the main thread
NSString *appid = @"APPID";
NSString *url = @"SERVER_URL";
TDConfig *config = [[TDConfig alloc] init];
config.appid = appid;
config.serverUrl = url;
[TDAnalytics startAnalyticsWithConfig:config];
[TDAnalytics login:@"TD"];
NSDictionary *superProperties = @{
@"channel": @"ta",
@"age": @1,
@"isSuccess": @YES,
@"birthday": [NSDate date],
@"object": @{
@"key":@"value"
},
@"object_arr":@[
@{
@"key":@"value"
}
],
@"arr": @[@"value"],
};
[TDAnalytics setSuperProperties:superProperties];
NSDictionary *eventProperties = @{@"product_name": @"book"};
[TDAnalytics track:@"product_buy" properties:eventProperties];
// "username" is "ThinkingData"
[TDAnalytics userSet:@{@"username": @"ThinkingData"}];
}

