基础说明

# 基础说明

建议第一次用本插件的同学按照此基础说明的步骤来熟悉插件~

# 插件采集规则

# 采集方式

  • 自动采集: 自动获取 事件 & 性能 & 页面跳转 等信息
  • 手动采集: 使用者手动调用插件内置方法触发采集

# 发送后台地址配置

发送后台地址配置: 通过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有特有的方法对它们赋值

这些属性都会在发送给后台时带上