1. 文档目录

2. SDK 功能清单

一级功二级功能具体功能 / 描述
标识用户自动标识匿名用户自动使用设备 ID 标识匿名用户
支持替换为自定义的匿名 ID
标识登录用户使用登录 ID 标识登录用户
设置用户属性
采集数据自动采集浏览器信息自动采集默认的设备制造商,操作系统、浏览器版本等
全埋点Web 浏览页面
Web 元素点击
Web 视区停留
公共属性静态公共属性
动态公共属性
清除公共属性
自定义埋点自定义代码埋点
上报数据自动上报数据SDK 在满足一定条件后自动发送事件数据
调试功能调试模式开启 / 关闭调试模式
调试日志显示 / 关闭调试日志
可视化及分析可视化全埋点通过可视化的方式在将关键事件筛选出来,便于后续分析
Web 点击分析直观展示用户在 Web 页面上的点击情况
DeepLink创建 DeepLink 用于 App 推广
高级功能数据加密数据加密之后再进行存储和发送
App 与 H5 打通打通后 H5 的事件数据由 App SDK 来存储和发送
合规支持合规要求
SDK 采集控制控制 SDK 开启或关闭

3. 基本原理

Web SDK 是用原生 JavaScript 语言编写。没有使用最新的 ES6 特性。理论支持 IE6+ 的浏览器。

Web SDK 的原理,主要是通过原生 JavaScript 代码,去监控页面的点击等操作,并自动获取屏幕宽高等属性,然后发送请求。因为 Web SDK 是面向传统的浏览器环境的,跟框架没有关系!也就是说必须也且只能是在 “ 浏览器上运行的网页中 ” 就可以使用 Web SDK。这里的几个特点:

  • 能支持 JavasScript 语言的环境
  • 能支持 Web 浏览器的环境

因为要满足上述的 Web + JavaScirpt 的环境,所以我们称 SDK 为 Web JS SDK,简称 Web SDK。

4. 插件架构

因为 Web SDK 中有上千个功能点,并且功能点仍然在持续新增。因为功能点的数量足够的大,且存在一个功能有多种互斥方案,之前的“全能 SDK”(所有功能都集成在一起)正在逐步转变成插件的架构方式。理论上后续所有功能都是通过插件来实现,以前的功能也在逐步拆解为插件。

鉴于插件的重要意义,建议集成 SDK 的时候可以了解下现有的 “插件集成” 目录,每个插件都会有 readme 使用说明。

5. SDK 支持范围

客户端框架: Vue2、Vue3、React、Angular 

服务端框架 : next.js、nuxt.js 

建站系统:wordpress、shopify、ghost

桌面框架: electron

对于以上各种,Web SDK 不支持框架/系统本身,Web SDK 不会为框架/系统本身去量身打造支持性。Web SDK 支持的是标准的浏览器,只要页面能加载静态资源(例如加载 jQuery)就可以支持。

6. 览器支持范围

浏览器IE6IE7IE8IE9IE10IE11EdgeFireFoxSafariChromeOpera
支持

注意:

  • 上面基本原理中已经表示过,只要是标准的浏览器环境,能支持原生 JavaScript(不需要 ES6 ) 就可以使用。跟操作系统、平台类型、浏览器类型、浏览器版本无关。 
  • 不保证一些小众浏览器没有实现标准的 JavaScript ,导致一些属性有差异。这时候就会跟操作系统、平台类型、浏览器类型、浏览器版本有关。
  • 部分功能需要相对较新的浏览器才能支持,例如批量发送需要 LocalStorage 存储。
  • 如果一些功能(例如批量发送)在版本浏览器不支持的话,SDK 不会报错,而是自动降级(使用图片发送),或者去除这个功能。