追踪器功能
Umami 追踪器提供了一个函数,如果你想要对追踪进行更多控制,可以在你的网站上调用该函数。默认情况下,一切数据都会自动收集,但你可以通过设置 data-auto-track="false" 来禁用自动收集,并自行发送数据。详见追踪器配置。
函数
// 追踪当前页面
umami.track();
// 自定义负载
umami.track(payload: object);
// 自定义事件
umami.track(event_name: string);
// 带数据的自定义事件
umami.track(event_name: string, data: object);
// 为当前会话分配 ID
umami.identify(unique_id: string);
// 会话数据
umami.identify(unique_id: string, data: object);
// 无 ID 的会话数据
umami.identify(data: object);页面浏览量
追踪页面浏览。
umami.track();默认情况下,追踪器会自动收集以下属性:
hostname:服务器主机名language:浏览器语言referrer:页面来源screen:屏幕尺寸(例如 1920x1080)title:页面标题url:页面 URLwebsite:网站 ID(必填)
如果你希望发送自定义负载,可以向函数传入一个对象:
umami.track({ website: 'e676c9b4-11e4-4ef1-a4d7-87001773e9f2', url: '/home', title: '主页' });上述代码仅会发送 website、url 和 title 这几个属性。如果想包含已有属性,可以传入一个函数:
umami.track(props => ({ ...props, url: '/home', title: '主页' }));事件
追踪一个具有指定名称的事件。
umami.track('signup-button');事件数据
追踪一个带有动态数据的事件。
umami.track('signup-button', { name: 'newsletter', id: 123 });追踪事件时,默认属性会包含在负载中。相当于执行了:
umami.track(props => ({
...props,
name: 'signup-button',
data: {
name: 'newsletter',
id: 123,
},
}));事件数据限制
事件数据可以包含任意 JSON 数据。为了保证性能,制定了一些规则:
- 数字的最大精度为 4 位。
- 字符串最大长度为 500。
- 数组会被转换成字符串(最大长度同样为 500)。
- 对象最多包含 50 个属性。数组被视为 1 个属性。
会话
传入自己的 ID 来标识用户。
umami.identify('unique_id');会话数据
保存当前会话的数据。
umami.identify('unique_id', { name: 'Bob', email: 'bob@aol.com' });如果不提供唯一 ID,只传入一个 JSON 对象:
umami.identify({ name: 'Bob', email: 'bob@aol.com' });