応用ガイド
1. イベントの送信
SDKの初期化が完了したら、データのトラッキングを行い、ユーザーの行動情報を収集できます。通常は通常イベントで業務シナリオの要件を満たせますが、実際の業務シナリオに応じて、初回イベントや更新可能イベントなどを使用することもできます。
1.1 通常イベント
trackを呼び出してイベントを送信できます。事前に整理したドキュメントに従って、イベントのプロパティと送信条件を設定することをお勧めします。ここでは、ユーザーが商品を購入する場合を例にします:
let trackEvent = {
accountId: '2222',
distinctId: '1111',
event: 'test_event',
time: new Date(),
ip: '202.38.64.1',
properties: {
prop_double: 134.1,
},
callback(e) {
if (e) {
console.log(e);
}
}
};
teSDK.track(trackEvent)
1.2 初回イベント
初回イベントとは、デバイスまたはその他のディメンションのIDに対して、1回だけ記録されるイベントのことです。たとえば、あるデバイスでのアクティベーションイベントを記録したい場合は、初回イベントでデータを送信できます。
let trackFirstEvent = {
accountId: '2222',
distinctId: '1111',
event: 'test_event',
firstCheckId: 'first_check_id',
time: new Date(),
properties: {
prop_date: new Date(),
prop_double: 134.1,
prop_string: 'hello world',
prop_int: 67,
},
callback(e) {
if (e) {
console.log(e);
}
}
};
teSDK.trackFirst(trackFirstEvent);
注意:初回かどうかの検証はサーバー側で行われるため、初回イベントはデフォルトで1時間遅れて取り込まれます。
1.3 更新可能イベント
更新可能イベントを使用すると、特定のシナリオでイベントデータを変更する必要がある場合に対応できます。更新可能イベントでは、そのイベントを識別するIDを指定し、更新可能イベントのオブジェクトを作成する際に渡す必要があります。AE管理画面は、イベント名とイベントIDに基づいて更新するデータを特定します。
let trackUpdateEvent = {
accountId: '2222',
distinctId: '1111',
event: 'test_event',
eventId: 'event_id',
time: new Date(),
properties: {
prop_date: new Date(),
prop_double: 134.1,
prop_string: 'hello world',
prop_int: 67,
},
callback(e) {
if (e) {
console.log(e);
}
}
};
teSDK.trackUpdate(trackUpdateEvent);
1.4 上書き可能イベント
上書き可能イベントは更新可能イベントと似ていますが、上書き可能イベントでは最新のデータで過去のデータを完全に上書きする点が異なります。効果としては、前のデータを削除して最新のデータを格納するのと同じです。AE管理画面は、イベント名とイベントIDに基づいて更新するデータを特定します。
let trackOverwriteEvent = {
accountId: '2222',
distinctId: '1111',
event: 'test_event',
eventId: 'event_id',
time: new Date(),
properties: {
prop_date: new Date(),
prop_double: 134.1,
prop_string: 'hello world',
prop_int: 67,
},
callback(e) {
if (e) {
console.log(e);
}
}
};
teSDK.trackOverWrite(trackOverwriteEvent);
2. ユーザープロパティ
AEプラットフォームが対応しているユーザープロパティ設定APIは次のとおりです: userSet、userSetOnce、userAdd、
userUnset、userDel、userAppend、userUniqAppend。
2.1 userSet
一般的なユーザープロパティは、userSetを呼び出して設定できます。このインターフェースで送信したプロパティは、既存のプロパティ値を上書きします。そのユーザープロパティが以前に存在しない場合は新しく作成され、タイプは渡されたプロパティのタイプと同じになります。ここでは、ユーザー名の設定を例にします:
let userSetData = {
accountId: 'node_test',
properties: {
prop_date: new Date(),
prop_double: 134.12,
prop_string: 'hello',
prop_int: 666,
prop_array: ['str1', 'str2'],
},
callback(e) {
if (e) {
console.log(e);
}
}
};
teSDK.userSet(userSetData);
2.2 userSetOnce
設定するユーザープロパティが一度だけ設定すればよいものである場合は、userSetOnceを呼び出して設定できます。そのプロパティにすでに値がある場合、この情報は無視されます。ここでもユーザー名の設定を例にします:
teSDK.userSetOnce({
accountId: 'node_test',
properties: {
setOnceProperty: "set_once",
}
});
2.3 userAdd
数値型のプロパティを送信して累積加算を行う場合は、userAddを呼び出せます。そのプロパティがまだ設定されていない場合は、0を代入してから計算します。負の値を渡すこともでき、その場合は減算と同じになります。ここでは、累積課金額を例にします:
teSDK.userAdd({
accountId: 'node_test',
properties: {
prop_double: 0.6,
prop_int: 222,
}
});
設定するプロパティのkeyは文字列で、Valueには数値のみ指定できます。
2.4 userAppend
userAppendを呼び出して、配列型のユーザープロパティに要素を追加できます。
teSDK.userAppend({
accountId: 'node_test',
properties: {
prop_array: ['str3', 'str4']
}
});
2.5 userUniqAppend
userUniqAppendを呼び出して、配列型のユーザープロパティに要素を追加できます。userUniqAppendインターフェースを呼び出すと、追加するユーザープロパティの重複が排除されます。 userAppendインターフェースでは重複は排除されず、ユーザープロパティに重複が存在する場合があります。
teSDK.userUniqAppend({
accountId: 'node_test',
properties: {
prop_array: ['str3', 'str4']
}
});
2.6 userUnset
ユーザーのユーザープロパティの値をクリアする場合は、userUnsetを呼び出して指定したプロパティをクリアできます。そのプロパティがまだクラスター内で作成されていない場合、userUnsetはそのプロパティを作成しません
teSDK.userUnset({
accountId: 'node_test',
property: 'set_once_property'
});
UserUnset:に渡す値は、クリアするプロパティのKeyです。
2.7 userDel
あるユーザーを削除する場合は、userDelを呼び出してそのユーザーを削除できます。削除後はそのユーザーのユーザープロパティを照会できなくなりますが、そのユーザーが発生させたイベントは引き続き照会できます。この操作は元に戻せない結果を招く可能性があるため、慎重に使用してください
teSDK.userDel({
// アカウントID(任意)
accountId: "node_test",
// ゲストID(任意)。アカウントIDとゲストIDの両方を空にすることはできません
distinctId: "node_distinct_id"
});
3. その他の機能
3.1 BatchMode
データ量が多すぎる場合やネットワークに異常がある場合は、データが失われるおそれがあるため、本番環境での使用はお勧めしません
データをバッチでリアルタイムにAEサーバーへ送信します。転送ツールと組み合わせる必要はありません。
let teSDK = ThinkingData.initWithBatchMode('APP_ID', 'SERVER_URL', {
batchSize: 2,
compress: false // enable compress or not, default true
});
パラメータの説明:
-
APP_ID: プロジェクトのAPP IDです。AE管理画面の「プロジェクト管理」ページで取得できます -
SERVER_URL: データの送信先URL- クラウドサービスをご利用の場合は、次を入力します: https://global-receiver-ta.thinkingdata.cn
- プライベートデプロイ版をご利用の場合は、データ収集アドレスにドメインをバインドし、HTTPS証明書を設定してください:https://データ収集アドレスにバインドしたドメイン

