Web Tracking 可以采集各种浏览器、iOS APP 或 Android APP 的用户信息,例如:
- 用户使用的浏览器、操作系统、分辨率等信息。
- 用户浏览行为记录(例如:用户在网站上的单击行为、购买行为等)。
- 用户在 APP 中的停留时间、是否活跃等。
@aliyun-sls/web-track-mini 支持小程序端,包括:
微信小程序、微信小游戏
支付宝小程序
字节跳动小程序
钉钉小程序
QQ 小程序、QQ 小游戏
百度小程序
浏览器参见 @aliyun-sls/web-track-browser
- 使用 Web Tracking 则表示该 Logstore 打开互联网匿名写入权限,没有经过有效鉴权,可能产生脏数据。
- POST 请求每次写入的日志数量上限为 10MB, 详情请参见PutLogs。
- 小程序平台一般需要配置服务器安全通信域名(或者叫request合法域名),sls webtrack 使用的域名为
https://${project}.${host}
,host 和 project 含义参见参数配置
控制台配置
- 登录日志服务控制台。
- 单击目标 Project。
- 找到目标 Logstore,单击下的修改。
- 在Logstore 属性页面,单击右上方的修改。
- 打开WebTracking开关,并单击保存。
通过 SDK 采集数据
1.安装依赖包
npm install --save @aliyun-sls/web-track-mini
2.import
在您的应用程序模块。
import SlsTracker from '@aliyun-sls/web-track-mini'
3.配置参数 opts。
参数 | 说明 | 是否填写 |
---|---|---|
host | 日志服务所在地域的 Endpoint,详情请参见服务入口 | 必填 |
project | 控制台创建的 project 名称。 | 必填 |
logstore | 控制台创建的 logstore 名称。 | 必填 |
time | 发送消息的时间间隔,数据格式为 Number 的方式,time*1000(毫秒)。 | 选填(默认是 10 秒) |
count | 发送消息的数量大小,数据格式为 Number 的方式。 | 选填(默认是 10 条数据) |
topic | 日志主题。 | 选填, string |
source | 日志来源。 | 选填, string |
tags | 日志标签。 | 选填, Record<string, string> |
const opts = {
host: '${host}', // 所在区域的host
project: '${project}', // project名称
logstore: '${logstore}', // logstore名称
time: 10, // 定义时间,默认是10秒,number类型,选填
count: 10, // 定义数据条数,默认是10条,number类型,选填
topic: 'topic',
source: 'source',
tags: {
tags: 'tags',
},
}
4.创建 SlsTracker 对象。
const tracker = new SlsTracker(opts)
5.上传日志。
tracker.send({
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
})
send()
说明: 单条数据上传。
参数:Object 类型
示例:
tracker.send({
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
})
sendImmediate()
说明: 单条数据立即上传,time 和 count 参数此时配置不生效。
参数:Object 类型
示例:
tracker.sendImmediate({
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
})
sendBatchLogs()
说明: 批量数据上传。
参数:Object 类型
示例:
tracker.sendBatchLogs([
{
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
},
{
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
},
])
sendBatchLogsImmediate()
说明: 批量数据上传,time 和 count 参数此时配置不生效。
参数:Object 类型
示例:
tracker.sendBatchLogsImmediate([
{
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
},
{
customer: 'zhangsan',
product: 'iphone 12',
price: 7998,
},
])