@Belinda
2018-03-19T07:40:49.000000Z
字数 1967
阅读 975
web sdk 通过两个信息采集接口将必要的设备信息和用户行为信息,接口样例如下
H5事件采集接口 POST:/rest/ collect/event/h5/v1/
{
"header":{ // HTTP 头部
"X-Device-Id":" 550e8400-e29b-41d4-a716-446655440000", //设备ID
"X-Source-Url":"https://www.baidu.com/", //源地址
"X-Current-Url":"", //统一资源定位
"X-User-Id":"",//外部用户ID,集团内部使用统一用户中心的系统可以不传该值
"X-Auth":"" // 验证码密文
},
"body":[{ // HTTP Body体
"PageSessionID":"", //页面会话ID
"Event":"vst", //页面载入事件 , 自定义事件加 “c-”前缀
"PageTitle": "泰然金融", //页面名称
"CurrentTime": “1517798922201”, 当前时间
"PageElement": "h3.infor_title/span" , //点击的目标元素, 可以是id或者元素的 相关dom
"ExtraInfo": {
"v":"市场有风险" //点击元素的内容
} //事件收集的相关数据,具体的KEY待确认。
}]
}
H5设备采集接口 POST:/rest/ collect/device/h5/v1/
{
"header":{ // HTTP 头部
"X-Device-Id":" 550e8400-e29b-41d4-a716-446655440000", //设备ID
"X-Source-Url":"https://www.baidu.com/", //源地址
"X-Current-Url":"", //统一资源定位
"X-User-Id":"",//外部用户ID,集团内部使用统一用户中心的系统可以不传该值
"X-Auth":"" // 验证码密文
},
"body":[{ // HTTP Body体
"PageSessionID":"", //页面会话ID
"Event":"vst", //页面载入事件 , 自定义事件加 “c-”前缀
"PageTitle": "泰然金融", //页面名称
"CurrentTime": “1517798922201”, 当前时间
"PageElement": "h3.infor_title/span" , //点击的目标元素, 可以是id或者元素的 相关dom
"ExtraInfo": {
"v":"市场有风险" //点击元素的内容
} //事件收集的相关数据,具体的KEY待确认。
}]
}
在需要采集用户行为数据的项目中加载脚本
(function() {
var collect = document.createElement('script');
collect.type = 'text/javascript';
collect.async = true;
collect.src = '/index.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(collect, s);
})();
在脚本中配置需要的参数
// 【选填】配置事件采集接口,配置内容覆盖脚本初始化接口资源地址
_XT.push(['eventUrl','/rest/collect/event/h5/v1']);
// 【选填】配置设备采集接口,配置内容覆盖脚本初始化接口资源地址
_XT.push(['deviceUrl','/rest/collect/device/h5/v1']);
//【必填】配置click 事件需要监听的 dom 标签
_XT.push(['Target','a','div','button','p']);
//【必填】 安全考虑,auth 和 code 必填,服务器会进行安全校验
_XT.push(['auth','188e0bcf1a2b11d12f6994f91aa09411']);
//
_XT.userConfig = {
code: '1'
};
目前采集行为只区分到事件类型,用户自定义事件采集如注册行为,需要人工埋点采集,sdk 暴露2个接口用于调用方的数据通讯
// 埋点事件触发,第一个参数为`自定义事件名称`,第二个参数为事件触发的 dom 节点
sdk.dispatch('customEvent',testDom)
// 用户userId采集,调用方在登录之后存储userId
sdk.storeUserId('test1111')