文档目录
SDK 功能清单
一级功 | 二级功能 | 具体功能 / 描述 |
---|---|---|
标识用户 | 自动标识匿名用户 | 自动使用设备 ID 标识匿名用户 |
支持替换为自定义的匿名 ID | ||
标识登录用户 | 使用登录 ID 标识登录用户 | |
设置用户属性 | ||
采集数据 | 自动采集浏览器信息 | 自动采集默认的设备制造商,操作系统、浏览器版本等 |
全埋点 | Web 浏览页面 | |
Web 元素点击 | ||
Web 视区停留 | ||
公共属性 | 静态公共属性 | |
动态公共属性 | ||
清除公共属性 | ||
自定义埋点 | 自定义代码埋点 | |
上报数据 | 自动上报数据 | SDK 在满足一定条件后自动发送事件数据 |
调试功能 | 调试模式 | 开启 / 关闭调试模式 |
调试日志 | 显示 / 关闭调试日志 | |
可视化及分析 | 可视化全埋点 | 通过可视化的方式在将关键事件筛选出来,便于后续分析 |
Web 点击分析 | 直观展示用户在 Web 页面上的点击情况 | |
DeepLink | 创建 DeepLink 用于 App 推广 | |
高级功能 | 数据加密 | 数据加密之后再进行存储和发送 |
App 与 H5 打通 | 打通后 H5 的事件数据由 App SDK 来存储和发送 | |
合规 | 支持合规要求 | |
SDK 采集控制 | 控制 SDK 开启或关闭 |
基本原理
Web SDK 是用原生 JavaScript 语言编写。没有使用最新的 ES6 特性。理论支持 IE6+ 的浏览器。
Web SDK 的原理,主要是通过原生 JavaScript 代码,去监控页面的点击等操作,并自动获取屏幕宽高等属性,然后发送请求。因为 Web SDK 是面向传统的浏览器环境的,跟框架没有关系!也就是说必须也且只能是在 “ 浏览器上运行的网页中 ” 就可以使用 Web SDK。这里的几个特点:
- 能支持 JavasScript 语言的环境
- 能支持 Web 浏览器的环境
因为要满足上述的 Web + JavaScirpt 的环境,所以我们称 SDK 为 Web JS SDK,简称 Web SDK。
插件架构
因为 Web SDK 中有上千个功能点,并且功能点仍然在持续新增。因为功能点的数量足够的大,且存在一个功能有多种互斥方案,之前的“全能 SDK”(所有功能都集成在一起)正在逐步转变成插件的架构方式。理论上后续所有功能都是通过插件来实现,以前的功能也在逐步拆解为插件。
鉴于插件的重要意义,建议集成 SDK 的时候可以了解下现有的 “插件集成” 目录,每个插件都会有 readme 使用说明。
SDK 支持范围
客户端框架: Vue2、Vue3、React、Angular
服务端框架 : next.js、nuxt.js
建站系统:wordpress、shopify、ghost
桌面框架: electron
对于以上各种,Web SDK 不支持框架/系统本身,Web SDK 不会为框架/系统本身去量身打造支持性。Web SDK 支持的是标准的浏览器,只要页面能加载静态资源(例如加载 jQuery)就可以支持。
览器支持范围
浏览器 | IE6 | IE7 | IE8 | IE9 | IE10 | IE11 | Edge | FireFox | Safari | Chrome | Opera |
---|---|---|---|---|---|---|---|---|---|---|---|
支持 |
注意:
- 上面基本原理中已经表示过,只要是标准的浏览器环境,能支持原生 JavaScript(不需要 ES6 ) 就可以使用。跟操作系统、平台类型、浏览器类型、浏览器版本无关。
- 不保证一些小众浏览器没有实现标准的 JavaScript ,导致一些属性有差异。这时候就会跟操作系统、平台类型、浏览器类型、浏览器版本有关。
- 部分功能需要相对较新的浏览器才能支持,例如批量发送需要 LocalStorage 存储。
- 如果一些功能(例如批量发送)在版本浏览器不支持的话,SDK 不会报错,而是自动降级(使用图片发送),或者去除这个功能。