0.3.8 • Published 4 months ago

@aliyun-sls/web-track-mini v0.3.8

Weekly downloads
-
License
-
Repository
-
Last release
4 months ago

SLS WebTracking JavaScript SDK

背景信息

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 含义参见参数配置

数据采集

控制台配置

  1. 登录日志服务控制台
  2. 单击目标 Project。
  3. 找到目标 Logstore,单击pic下的修改
  4. Logstore 属性页面,单击右上方的修改
  5. 打开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,
  },
])