WEB SDK 基础操作
初始化SDK
方法示例:
import CloudAtlas from '@sdp.nd/cloud-atlas-web-sdk'
const options = {
appKey: 'im',// 应用Appkey,请到云图对应环境上注册Web应用
appId:'{sdp_app_id}', // 应用sdp_app_id,通过appId与env到配置服务中取云图配置
appVer: '0.0.1',
channelId: 'default',
isLog: true, //设置日志打印开关
env: 'PRODUCTION', // PRODUCTION 生产环境,大写字符串,请参照上面对应环境变量
isHttps: true, // 当前公司已经要求所有产品支持https,云图所有开放环境都支持https,请默认设置为true,当前默认值为false
limitNumber: 5
}
window.cloudAtlas = new CloudAtlas(options)
会话统计
1. 会话开始
// 在页面打开时候调用接口:
CloudAtlas.onOpen() // 静态方法
2. 会话关闭
// 在页面关闭时候调用接口:
CloudAtlas.onClose() // 静态方法
账号的统计
1. 账号登录
如果需要统计应用自身的账号,请使用 CloudAtlas.onProfileSignIn(userId)
接口(目前只支持数字类型的String):
// 在页面关闭时候调用接口:
CloudAtlas.onProfileSignIn() // 静态方法
2. 账号登出
// 在页面关闭时候调用接口:
CloudAtlas.onProfileSignOff() // 静态方法
自定义事件的统计
自定义事件由传入的options参数来支持多种记录方式:
/**
* 自定义事件
* eventId 事件Id(String,必选)
* label 事件属性(String,可选)
* info 事件属性集(Object,不支持嵌套,value为String,可选)
* value 特殊属性值(int,可选)
*
* @param options 事件对象(Object,必选),支持eventId、label、info、value等属性
*/
CloudAtlas.onEvent(options) // 静态方法
cloudAtlas.onEvent(options) // 实例方法
如果只需要统计某个事件发生的次数,可以只传一个事件id,如:
CloudAtlas.onEvent({
eventId:"{领域}_{组件}_{页面}_{操作}"
});
如果事件除了需要统计次数,还有不同的属性,如购买事件,可能有买苹果、买梨子、买香蕉等,而且需要对每种类型的水果的购买次数分别统计,则可以使用以下方式:
CloudAtlas.onEvent({
eventId:"{领域}_{组件}_{页面}_{操作}",
label:"label_xxx"
});
考虑到某些情况下,对于一个事件,我们不止有一个维度的属性要统计。如购买事件,除了水果的类型,有时还可能需要统计门店,可以使用带Map的接口:
CloudAtlas.onEvent({
eventId:"{领域}_{组件}_{页面}_{操作}",
info:{
"key":intvalue,
"key":"stringvalue",
"key":datatimestamp
}
});
而在此基础上,如果还要扩展统计购买的金额,同时需要对金额做一些数值上的计算分析,则需要调用带int类型value的接口:
CloudAtlas.onEvent({
eventId:"{领域}_{组件}_{页面}_{操作}",
info:{
"key":intvalue,
"key":"stringvalue",
"key":datatimestamp
},
value:intvalue
});
如果需要上报数据到百度统计,则需要将info对象下添加一个baidu对象:
CloudAtlas.onEvent({
// 可以传入其他参数,但只有eventId和info.baidu是百度统计需要的参数,其他参数若云图有需要则会自动解析到云图
eventId:"{领域}_{组件}_{页面}_{操作}", // 必填,对应百度统计 - 事件类型
info:{
"baidu": {
"action": "stringvalue", // 选填,默认为click,对应百度统计 - 事件操作
"opt_label": "", // 选填,对应百度统计 - 事件额外信息
"opt_value": intvalue // 选填,对应百度统计 - 事件数值信息
}
}
});
注意:ca开头的字符串是保留字,不能作为key。
立即上报本地数据
// 调用后,立即上传本地存储的所有数据
CloudAtlas.freshUpdata() // 静态方法
设置环境
方法定义:
/**
* 设置数据上报的云图采集服务环境:
* @param env 环境变量(String,必选)
* @param useHttps 设置是否使用https(Boolean,非必选)
* @param hostUrl v1.7.18新增参数 设置env为CUSTOM或者未在环境变量表中的环境如xxx时,上报数据的域名走hostUrl(String,非必选)
*/
cloudAtlas.setEnv(env, useHttps, hostUrl)
方法示例:
CloudAtlas.setEnv('PRODUCTION', true); // 生产,预生产等环境调用方法也是如此,修改env参数即可
CloudAtlas.setEnv('CUSTOM', true, 'cloud-atlas-collection.vlab.eduyun.cn'); // 中央电教馆
CloudAtlas.setEnv('CUSTOM', true, 'cloud-atlas-collection.egvod-beta.ndaeweb.com'); // 埃及VOD预生产
CloudAtlas.setEnv('xxx', true, 'example.com'); // 其他环境
方法说明:
1.用户可以通过该接口设置上报信息的环境
2.使用某个环境请先申请对应环境的APP_KEY
获取设备ID
cloudAtlas.getDeviceID() // 实例方法
页面浏览事件采集
1. 进入页面
cloudAtlas.sendPage() // 实例方法
2. 离开页面
cloudAtlas.leavePage() // 实例方法