WEB SDK 接入文档
提示
在接入前, 请先阅读接入前准备。
最新版本为: v1.7.21
更新时间为: 2021-03-24
1. 快速集成SDK
1.1 Web SDK下载地址
在CDN上下载 云图Web SDK 云图Web SDK为最新版本。具体每个版本特性请参照版本更新日志。
CDN地址: http://gcdncs.101.com/v0.1/static/cloudatlas_cs/ca-web-sdk/latest/cloud-atlas.min.js
sdk依赖于body元素,需保证body元素挂载后调用云图初始化。
国际版地址域名为 gcdncs.101.com; 目前1.6.7版本之前的版本已停止维护,请及时更新到最新版本的SDK;
和普通的JS一样在页面中直接导入min版本的sdk:
<script type="text/javascript" src="cloud-atlas-vx.x.x.min.js"></script>
// 此时会在window上挂载全局变量CloudAtlas
1.2 NPM 安装
NPM 能很好地和诸如 webpack , Rollup 模块打包器配合使用
// 通过 npm 安装对应的sdk版本
npm install @sdp.nd/cloud-atlas-web-sdk@[version]
由于目前sdp上的版本号与当前版本号存在不对应的情况,请npm安装最新大版本的sdk。 如果安装不了,请查看ND的NPM官网
具体NPM版本请查看下面列表(请安装最新版js sdk)
SDK版本 | CDN版本 | NPM版本 |
---|---|---|
1.7.21 | 1.7.21 | 1.7.21 |
1.7.20 | 1.7.20 | 1.7.20 |
1.7.19 | 1.7.19 | 1.7.19 |
1.7.18 | 1.7.18 | 1.7.18 |
2. 使用指南
2.1 初始化SDK
使用示例:
方法一:通过自定义代码的方式配置参数
new CloudAtlas({
appKey: 'im',// 应用Appkey,请到云图对应环境上注册Web应用
appId:'{sdp_app_id}', // 应用sdp_app_id,通过appId与env到配置服务中取云图配置
appVer: '0.0.1',
isLog: true, //设置日志打印开关
env: 'PRODUCTION', // PRODUCTION 生产环境,大写字符串
isHttps: true, // 当前公司已经要求所有产品支持https,云图所有开放环境都支持https,请默认设置为true,当前默认值为false
limitNumber: 5 // 默认本地缓存数据条数
})
// 其他业务逻辑......
参数介绍:
初始化接口需接收一个Object对象,对象参数如下:
字段 | 描述 | 类型 | 是否必填 | 对应版本 | 说明 |
---|---|---|---|---|---|
appKey | 应用标识码 | String | 与appId不能同时为空 | - | 取值长度 1 - 255 字符 请依据进入不同环境的云图主站申请应用AppKey,不同环境相互不打通。 |
appId | 应用appId | String | 与appKey不能同时为空 | 1.7.16 | 应用sdp_app_id,通过appId与env到配置服务中取云图配置: 1. 如本地配置了appKey参数,则上报云图数据关联到本地配置的appKey 2. 如本地未配置appKey参数,则上报云图数据关联到配置服务中的appKey 3. 如本地和配置服务都未配置appKey,则自动{appid}_web作为应用appkey 注:如果要开启百度统计功能,必须填写appId,并在配置中心云图组件中配置bdSiteId参数,用于将上报数据关联到对应的站点 |
appVer | 应用版本号 | String | 必填 | - | 取值长度 1 - 64 字符 |
env | 环境 | String | 必填 | - | 请查看 配置参考 中的环境变量说明 |
isDebugMode | 是否为调试模式 | Boolean | 可选 | - | false 关闭调试模式(默认) true 开启调试模式,生产环境请关闭调试模式 |
channelId | 渠道ID | String | 可选 | 1.7.17 | 默认值为default 当访问的url中存在utm_source参数时,utm_source的值会作为channelId(优先级更高) |
isLog | 是否控制台打印日志 | Boolean | 可选 | 1.6.1 | 默认值为false,不进行打印 |
isHttps | 是否使用https | Boolean | 可选 | 1.6.1 | 默认值为false,上传走http接口,生产上设置为true走 https 请求接口 |
limitNumber | 上传限制条数 | Number | 可选 | 1.7.0 | 1.7.0版本上传范围为5-100,将触发事情存入localstorage中,达到限制条数,上传数据 |
isVTrack | 是否启用可视化埋点 | Boolean | 可选 | 1.7.2 | 是否加载可视化埋点代码 true 启用全埋点功能 false 不启用全埋点功能(默认) |
isImmediately | 是否开启立即上传 | Boolean | 可选 | 1.7.17 | 不存入localstorage,及时上传数据,默认关闭 此参数开启后,limitNumber限制条数默认会修改为1 |
autoUpload | 定时上传时间间隔 | Number | 可选 | 1.7.17 | 默认20秒自动上传,最小20秒,最多30秒 |
isSPA | 单页面应用页面采集开关 | Boolean | 可选 | 1.7.19 | 默认false,开启后可以自动采集单页面应用的跳转事件 |
isSendYTSdk | 是否将数据推送至云图SDK | Boolean | 可选 | 1.7.20 | 默认false |
isSendBdSdk | 是否将数据上报给百度统计 | Boolean | 可选 | 1.7.20 | 默认false |
isSendYmSdk | 是否将数据上报给友盟统计 | Boolean | 可选 | 1.7.20 | 默认false |
isSendBridge | 是否提供SDK与移动端之间的bridage桥接功能 | Boolean | 可选 | 1.7.20 | 默认false |
bdSiteId | 百度Web SDK的SiteId | String | 当isSendBdSdk为true时,此字段必填 | 1.7.20 | 在百度统计代码中获取 |
ymSiteId | 友盟Web SDK的SiteId | String | 当isSendYmSdk为true时,此字段必填 | 1.7.20 | 在友盟统计代码中获取 |
相关说明:
- 新增初始化参数 isImmediately 默认为false, 为了保证数据的及时和准确性,及时上传数据。触发事件立即走上传,上传失败则会直接丢弃该掉数据。
(重点推荐)方法二:灵活方式, 通过配置项服务灵活配置基础信息
new CloudAtlas({
appId:'{sdp_app_id}', // (与appKey不能同时为空)应用sdp_app_id,通过appId与env到配置服务中取云图配置
appVer: '0.0.1',
env: 'PRODUCTION', // (大写字符串)PRODUCTION:生产环境,PREPRODUCTION:预生产环境,IRAQ:伊拉克演练环境, PRODEDUYUN:央馆私有化环境
channelId: 'default',
})
注意:以上代码中罗列的参数均为必填参数
其他参数可在配置服务中灵活的进行配置,具体配置信息请参考:配置服务
注意:接入方自定义代码的配置参数优先级要高于配置服务的配置
3. 账号的统计
4. 自定义事件的统计
5. 设置环境
6. 页面浏览事件采集
7. 全埋点事件详情
全埋点事件通过云图后台来控制是否开启,开启后,SDK会自动追踪页面上的按钮( a button input 或者父级中 a button input) 这种 html 标签类型 的点击情况,一个按钮发生了点击行为,我们就会去采集此按钮的一些信息,例如: 这个按钮的标签类型( a button input ),这个按钮的文本内容,这个按钮的 name ,这个按钮的 class 名,还有一些按钮特有的属性,如href等。
8. 监听浏览器标签页切换、最小化、浏览器关闭事件
关闭浏览器,会结束当前会话,并将当前会话数据存储到localstorage
中,下次进入应用页面触发上传
监听 VisibilityState 的方法,监听浏览器标签页切换、最小化等页面不可见状态时,关闭当前会话数据,当页面可见时,重新生成会话数据。(ie10以上可用)
9. localstorage本地存储事件数据
对数据上传有本地变量存储,修改为localstorage存储,初始化可以设置localstorage存储条数:limitNumber,默认存储5条(最少5条,最多100条)。当达到限制的条数,开始上传数据
注意:
- 存储的会话session数据,一条数据内都是包括登录和登出两个数据去进行拆分,所以在上传数据的时候,会出现上传的data数组不止设置的存储条数
- session会话数据会及时上传,不会等到5条数据再进行上传。
- 1.7.0版本 limitNunber 设置存储的 localstorage 是5-100条, v1.7.2版本后,limitNunber 设置存储的 localstorage 是1-100条
10. 可视化埋点
12. 支持的浏览器
浏览器 | 是否支持 | 上传数据进行gzip压缩 | 备注 |
---|---|---|---|
Chrome | 是 | 是 | |
Firefox | 是 | 是 | |
IE8 | 否 | 否 | 会做ie8以及以下熔断处理 |
IE9 | 是 | 否 | IE9兼容模式不支持,只支持标准模式 |
IE10 | 是 | 是 | - |
IE11 | 是 | 是 | - |