@Belinda
2018-03-19T07:40:49.000000Z
字数 1967
阅读 834
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')