基础说明
# 基础说明
建议第一次用本插件的同学按照此基础说明的步骤来熟悉插件~
# 插件采集规则
# 采集方式
- 自动采集: 自动获取 事件 & 性能 & 页面跳转 等信息
- 手动采集: 使用者手动调用插件内置方法触发采集
# 发送后台地址配置
发送后台地址配置: 通过init
初始化配置地址
# 发送数据原理
指的是本插件将采集到的数据发送给指定后台的原理
- navigator.sendBeacon
- new Image()
插件会使用以上两种方法进行数据发送,优先使用navigator.sendBeacon
方式
# 发送间隔
这里需要了解两个概念
- 最大缓存数 5
- 延迟时长 5s
最大缓存数: 在触发一次采集后并不会马上发送采集信息给后台,而是会缓存起来等达到最大缓存数才会将这些采集到的信息 拼接到一起(数组)的形式发生给后台
延迟时长: 如果在触发一次后迟迟没有达到最大缓存数,达到最大延迟时长后也会将这一次的采集结果发送给后台
另:如果是每间隔3s触发了一次采集,那么每一次触发都会清除这个延迟时长,直到达到了最大缓存数或是在最后一次采集后5s没有最新采集
这两个常量暂时是不能配置的,放在TODO中有需要再做~
# 标识
为了最大程度标识用户以及细分业务,插件提供了以下几个属性
- pageId (应用ID 自动生成)
- sessionId (会话ID 自动生成)
- deviceId (设备ID 自动生成)
- appName (应用Name 使用者初始化设置)
- appCode (应用Code 使用者初始化设置)
- customerId (类型ID 使用者调用方法设置)
- userUuid (用户ID 使用者调用方法设置)
pageId sessionId deviceId
的生成规则是一样的,最终会各自生成类似于这样的字符串
13488cb7-85a62e2a-917f1a1d943f5ae5
s_13488cb7-85a6166f-8c296bb4a6089363
t_13466167-991854d1-da9f0cf52c91fac4
不同的是pageId
在整个页面生命周期不变,只会在首次加载插件才会生成
sessionId
会存入cookie,存活时长为30分钟,每次触发采集事件都会刷新这个ID
deviceId
也会存入cookie,不设置存活时长
appName
以及appCode
可以在init
初始化时进行赋值
customerId
以及userUuid
有特有的方法对它们赋值
这些属性都会在发送给后台时带上