目录
此内容是否有帮助?

# 初回イベントチェック

この章では、TEシステムの特殊なデータ構造を紹介します。初回イベントチェックはデータフィルタリング特性で、イベントデータに一意の識別IDを追加し、システムがデータを受信すると、そのIDが以前に現れたかどうかを比較し、IDが現れたデータは格納できず、現れなかったデータは入庫でき、そのIDを記録することで、そのIDが初めて現れたイベントが入庫することを保証します。

WARNING

最初のイベントチェックのパフォーマンスオーバーヘッドが大きく、すべてのイベントでチェックを追加することはお勧めできません。都度TEスタッフにお問い合わせください。

# データ構造

初回イベントチェック機能を使用するには、データの調整が必要です

  • IDフィールド#first_check_idは文字列でなければなりません。このフィールドは、最初のイベントを検証するためのIDであり、最初に表示されたデータは格納され、その後は格納されません。異なるイベントの#first_check_id互いに独立しているので、各イベントの最初のチェックは互いに干渉

以下は、#first_check_id#first_check_idの位置に注目できるデータサンプルです

{
  "#account_id": "ABCDEFG-123-abc",
  "#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#type": "track",
  "#ip": "192.168.171.111",
  "#uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "#time": "2017-12-18 14:37:28.527",
  "#first_check_id": "123456",
  "#event_name": "test",
  "properties": {
    "argString": "abc",
    "argNum": 123,
    "argBool": true
  }
}

上記のデータの#first_check_idは「123456」で、イベント「test」の前にすでに#first_check_idが「123456」の別のデータが入庫されていれば、そのデータは入庫できず、以前に入庫されていなければ、そのデータは入庫できる

# データ処理ロジック

TEシステムは、イベントごとにIDテーブルを維持し、異なるイベント間でIDテーブルは互いに独立しています。

を持つ#first_check_idイベントデータを受信すると、該当イベントのIDテーブルでそのデータの#first_check_id、クエリ結果に応じて異なる処理を行う

  1. がIDテーブルに存在#first_check_id、そのデータは検証され、直接入庫され、IDテーブルには#first_check_id
  2. IDテーブルに#first_check_idが存在する場合、そのデータは直接破棄され

同じイベントが、#first_check_idを持つデータと、そのフィールドを持たないデータの両方をアップロードした場合、そのフィールドを持たないデータは最初のイベントチェックの処理を受けず、通常のデータと一致

TIP

上記の重要なロジックに加えて、ここには2つの注意点があります

1.性能を保証するため、システムはタイミングバッチ処理方式で判断し、デフォルト間隔は1時間であるため、初めてイベントチェックを使用したイベントデータにはデフォルト1時間のクエリ遅延

"#first_check_id"処理後はデータベースに記録されません。記録が必要な場合は、イベント属性レコード

# ベストプラクティス

# デバイスの追加

デバイスの新しいデータは最初のイベントチェックに最適で、アプリケーションが起動するたびに、デバイスIDを##first_check_idとする「デバイスの新しい」イベントを報告することができ、最初のイベントチェックの論理によると、デバイスIDが初めて現れた「デバイスの新しい」イベントだけが記録され、その後に現れたデータは捨てられる。したがって、入庫イベントは、デバイスIDごとに最初に発生するイベントであり、デバイスの新しいロジックに準拠しています。

以下は、最初のイベントチェックを使用したデバイスの新しいイベントの例です。

{
  "#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#type": "track",
  "#ip": "192.168.171.111",
  "#time": "2017-12-18 14:37:28.527",
  "#first_check_id": "device_id_123456",
  "#event_name": "new_device",
  "properties": {
    "device_id": "device_id_123456"
  }
}

このイベントは、アプリケーションが起動するたびに報告し、デバイスIDを#first_check_idとして#first_check_idことができます。加えて、「デバイスモデル」や「ソースチャネル」などの他の属性を追加して、分析時の次元を増やすこともできます。TEクライアントSDKまたはサービス側SDKでは、対応するSDKのアクセスガイドを確認できます。ガイドの「更新可能なイベント」と「書き換え可能なイベント」の章では、詳細なインターフェイス呼び出し方法です。