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

応用ガイド

最終更新 2026/10/05

1. イベントの送信​

SDKの初期化が完了したら、データのトラッキングを行い、ユーザーの行動情報を収集できます。通常は通常イベントで業務シナリオの要件を満たせますが、実際の業務シナリオに応じて、初回イベントや更新可能イベントなどを使用することもできます。

1.1 通常イベント​

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

%% 注意:account_idとdistinct_idの少なくとも一方を設定する必要があります
%% ユーザーのIPアドレスを設定。AEシステムはIPアドレスからユーザーの地理位置情報を解析します。設定しない場合、デフォルトでは送信されません
%% イベントの発生時刻を設定。設定しない場合、デフォルトで現在の時刻が使用されます。注意:#timeのタイプはtimestamp()タイプである必要があります

%% イベントを送信
td_analytics:track_instance(TE_SDK, "account_id_Erlang", "distinct_logbus", "ViewProduct", #{"#ip" => "192.168.1.1", "#time" => os:timestamp(), "key_1" => "🚓🦽🦼🚲🚜🚜🦽", "key_2" => 2.2, "key_array" => ["🚌", "🏍", "😚😊"]}),

1.2 初回イベント​

初回イベントとは、デバイスまたはその他のディメンションのIDに対して、1回だけ記録されるイベントのことです。たとえば、あるデバイスでのアクティベーションイベントを記録したい場合は、初回イベントでデータを送信できます。

FirstCheckId = "first_check_id",
%% 初回イベント
td_analytics:track_first_instance(TE_SDK, "account_id_Erlang", "distinct_id", "first_login", FirstCheckId, #{"key1" => "value1", "key2" => "value2"}),

注意:初回かどうかの検証はサーバー側で行われるため、初回イベントはデフォルトで1時間遅れて取り込まれます。

1.3 更新可能イベント​

更新可能イベントを使用すると、特定のシナリオでイベントデータを変更する必要がある場合に対応できます。更新可能イベントでは、そのイベントを識別するIDを指定し、更新可能イベントのオブジェクトを作成する際に渡す必要があります。AE管理画面は、イベント名とイベントIDに基づいて更新するデータを特定します。

EventName = "event_name",
EventId = "event_id",
%% 送信後、イベントプロパティstatusは3、priceは100になります
td_analytics:track_update_instance(TE_SDK, "account_id_Erlang", "distinct_id", EventName, EventId, #{"price" => 100, "status" => 3}),

%% 送信後、イベントプロパティstatusは5になり、priceは100のまま変わりません
td_analytics:track_update_instance(TE_SDK, "account_id_Erlang", "distinct_id", EventName, EventId, #{"status" => 5}),

1.4 上書き可能イベント​

上書き可能イベントは更新可能イベントと似ていますが、上書き可能イベントでは最新のデータで過去のデータを完全に上書きする点が異なります。効果としては、前のデータを削除して最新のデータを格納するのと同じです。AE管理画面は、イベント名とイベントIDに基づいて更新するデータを特定します。

EventName = "overWrite_event",
EventId = "event_id",
%% 送信後、イベントプロパティpriceは100、statusは5になります
td_analytics:track_overwrite_instance(TE_SDK, "account_id_Erlang", "distinct_id", EventName, EventId, #{"price" => 100, "status" => 5}),

%% 送信後、イベントプロパティpriceは20になり、statusプロパティは削除されます
td_analytics:track_overwrite_instance(TE_SDK, "account_id_Erlang", "distinct_id", EventName, EventId, #{"price" => 20}),

2. ユーザープロパティ​

AEプラットフォームでは、次のユーザープロパティ設定APIに対応しています:user_set_instance、user_set_once_instance、user_add_instance、user_unset_instance、user_del_instance、user_append_instance、user_unique_append_instance。

2.1 user_set_instance​

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

%% "name" is "A"
td_analytics:user_set_instance(TE_SDK, "account_id", "distinct_id", #{"name" => "A", "abc" => ["a", "b", "c"]}),
%% "name" is "B"
td_analytics:user_set_instance(TE_SDK, "account_id", "distinct_id", #{"name" => "B", "abc" => ["a", "b", "c"]}),

2.2 user_set_once_instance​

送信するユーザープロパティを一度だけ設定すればよい場合は、user_set_once_instanceを呼び出して設定できます。そのプロパティにすでに値がある場合、この情報は無視されます。ここでもユーザー名の設定を例にします:

%% "name" is "A"
td_analytics:user_set_once_instance(TE_SDK, "account_id", "distinct_id", #{"name" => "A"}),
%% "name" is still "A"
td_analytics:user_set_once_instance(TE_SDK, "account_id", "distinct_id", #{"name" => "B"}),

2.3 user_add_instance​

数値型のプロパティを送信する場合は、user_addを呼び出してそのプロパティを累積加算できます。そのプロパティがまだ設定されていない場合は、0を代入してから計算します。負の値を渡すこともでき、その場合は減算と同じになります。ここでは、累積課金額を例にします:

%% "amount" is 30
td_analytics:user_add_instance(TE_SDK, "account_id", "distinct_id", #{"amount" => 30}),
%% "amount" is 90
td_analytics:user_add_instance(TE_SDK, "account_id", "distinct_id", #{"amount" => 60}),

設定するプロパティのkeyは文字列で、Valueには数値のみ指定できます。

2.4 user_append_instance​

user_append_instanceを呼び出して、配列型のユーザープロパティに要素を追加できます。

%% "array" is ["arr1", "arr3"]
td_analytics:user_append_instance(TE_SDK, "account_id", "distinct_id", #{"array" => ["arr1", "arr3"]}),
%% "array" is ["arr1", "arr3", "arr2", "arr3"]
td_analytics:user_append_instance(TE_SDK, "account_id", "distinct_id", #{"array" => ["arr2", "arr3"]}),

2.5 user_unique_append_instance​

user_unique_append_instanceを呼び出して、配列型のユーザープロパティに要素を追加できます。user_unique_append_instanceインターフェースを呼び出すと、追加するユーザープロパティの重複が除去されます。user_append_instanceインターフェースは重複を除去しないため、ユーザープロパティに重複が存在する場合があります。

%% "array" is ["arr1", "arr3"]
td_analytics:user_unique_append_instance(TE_SDK, "account_id", "distinct_id", #{"array" => ["arr1", "arr3"]}),
%% "array" is ["arr1", "arr3", "arr2"]
td_analytics:user_unique_append_instance(TE_SDK, "account_id", "distinct_id", #{"array" => ["arr2", "arr3"]}),

2.6 user_unset_instance​

ユーザーのユーザープロパティ値をクリアする場合は、user_unset_instanceを呼び出して指定したプロパティをクリアできます。そのプロパティがまだクラスターで作成されていない場合、user_unset_instanceはそのプロパティを作成しません

td_analytics:user_unset_instance(TE_SDK, "account_id", "distinct_id", ["age", "abc"]),

user_unset_instanceに渡す値は、クリアするプロパティのKey値です。

2.7 user_del_instance​

あるユーザーを削除する場合は、user_del_instanceを呼び出してそのユーザーを削除できます。削除後はそのユーザーのユーザープロパティを照会できなくなりますが、そのユーザーが発生させたイベントは引き続き照会できます。この操作は元に戻せない結果をもたらす可能性があるため、慎重に使用してください

td_analytics:user_del_instance(TE_SDK, "account_id", "distinct_id"),
このページは役に立ちましたか?