神策分析帮助中心 技术指南 客户端 SDK Current: Web JS SDK Web JS SDK 1. 文档目录 集成文档(Web) 基础 API 介绍(Web) 全埋点 (Web) 高级功能(Web) 安全合规(Web) 用户关联(Web) 插件集成 (Web) 多域名打通(Web) 渠道追踪与广告(Web) 常见问题 FAQ(Web) 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. 客户端框架支持范围框架Vue2Vue3ReactAngular支持注意:上面基本原理中已经表述过,只要是标准的浏览器环境,能支持原生 JavaScript 就可以使用 SDK。跟框架无关。一些框架自身的特性,而非浏览器的特性 SDK 是不支持的。例如 React 有 JSX,那浏览器是不认识 JSX 的,SDK 无法识别。跨平台框架(例如 uni-app、RN)是不能直接用 Web SDK 的,Web SDK 可以在框架生成的浏览器端的页面里直接集成。uni-app 等需要使用 uni-app 的 SDK。6. 服务端框架支持范围框架next.jsnuxt.js支持注意:针对服务端渲染页面的框架是不能直接引入 Web SDK 的。需要通过框架特性集成 Web SDK,使 Web SDK 在客户端渲染并运行。7. 建站系统支持范围框架wordpressshopifyghost淘宝支持注意:对于建站系统,可以引入新的 js 文件(例如 在通用文件 header 中引入)。即可使用 Web SDK 。对于淘宝商铺系统,无法引入 js 文件,故无法使用 Web SDK 。8. 浏览器支持范围浏览器IE6IE7IE8IE9IE10IE11EdgeFireFoxSafariChromeOpera支持注意:上面基本原理中已经表示过,只要是标准的浏览器环境,能支持原生 JavaScript(不需要 ES6 ) 就可以使用。跟操作系统、平台类型、浏览器类型、浏览器版本无关。 不保证一些小众浏览器没有实现标准的 JavaScript ,导致一些属性有差异。这时候就会跟操作系统、平台类型、浏览器类型、浏览器版本有关。部分功能需要相对较新的浏览器才能支持,例如批量发送需要 LocalStorage 存储。如果一些功能(例如批量发送)在版本浏览器不支持的话,SDK 不会报错,而是自动降级(使用图片发送),或者去除这个功能。 注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。