イベントを送信する
イベントとは
イベント とは、ユーザーの行動を表すためのデータで、次のような特徴があります。
- イベントの種類を表すイベント名と、スキーマレスなフィールド群を持つ
- あらかじめ定義されているイベント以外にも独自のイベントを扱える
- ユニークなユーザーIDと紐づく
送信されたイベントはフィールドごとに最大値や合計値などが解析され、ユーザーに紐づいた統計値として扱うことができます。
値として使用可能なデータ型
最終的にイベントの値として使用可能なデータ型は以下の3種類です。
型の種類 | 例 |
---|---|
数値 | 0、100、0.1 |
文字列 | "hoge" |
論理値 | true、false |
数値型の値の上限
KARTEが利用しているJavaScriptの制約上、1,000兆を超えるような大きな値の数値を連携すると、正しく値が認識されません。
具体的には、次の値の範囲がサポートされます。
-9,007,199,254,740,991 〜 9,007,199,254,740,991
送信可能なデータ型
ただし、イベント送信時に設定できる値の型は以下の5種類です。
配列やオブジェクトの形で、上記3種類の値を設定して送ることが可能です。
型の種類 |
---|
数値 |
文字列 |
論理値 |
配列 |
オブジェクト |
例として、SDKを使用して sample
というイベント名のイベントを送信する場合、次のように書くことができます。
krt("send", "sample", {
color: "red",
size: 20,
is_empty: false,
label: {
type: "test",
is_admin: true
}
});
KarteTracker.shared()?.track("sample", values: [
"color": "red",
"size": 20,
"is_empty": false
])
[[KarteTracker sharedTracker] track:@"sample" values:@{
@"color": @"red",
@"size": @20,
@"is_empty": @NO
}];
Tracker.getInstance(this).track("sample", JSONObject().apply {
put("color", "red")
put("size", 20)
put("is_empty", false)
})
Tracker tracker = Tracker.getInstance(this);
JSONObject values = new JSONObject();
values.put("color", "red");
values.put("size", 20);
values.put("is_empty", false);
tracker.track("sample", values);
日付型
フィールド名が
_date
で終わる場合、KARTEの管理画面上では日付として扱います。 (例えば、相対時間による指定でセグメントが作れるようになります。)
フィールドの値は、Unix時間 (秒) で数値型を送信するか、SDKごとのDate型の値を使用してください。
イベントの制限
イベント名の制限
- イベント名には半角小文字英字 (
a-z
) 、半角数字 (0-9
) と下線 (_
) のみ使用できます。 - 下線 (
_
)で始まるイベント名はシステム上のイベントと干渉するため使用できません。
フィールド名の制限
- ドット (
.
)を含む名称は使用できません。 $
で始まる名前は使用できません。- フィールド名として
_source
、_system
、any
、avg
、cache
、count
、count_sets
、date
、f_t
、first
、keys
、l_t
、last
、lrus
、max
、min
、o
、prev
、sets
、size
、span
、sum
、type
、v
を指定することはできません。
値の制限
null
、undefined
は値として使用できません。
Updated about 2 months ago