h5-yypt-report
v1.0.1
Published
数据上报jssdk
Downloads
1
Readme
monitor jssdk指引
1、把接口挂到rio网关,http://联系运营平台人员获取接口/cgi/report/oss/monitorReport
2、 基础统计(pv、uv)
// 嵌入式
<script language="javascript" src="monitor-jssdk.min.js"></script>
<script language="javascript">
if(yyptReport&&typeof(yyptReport.pgvMain) == 'function')
// report_url,appKey必填
yyptReport.pgvMain({
report_url: "网关的上报链接", // 上报接口
appKey: 'PTC64S6J3SWN',// 应用key需先申请
autoReportPv: true, // 单页应用监听页面路径改变自动上报Pv,默认为false
// 其他参数说明
// customUserPrams: null, // 用户自定义的额外属性--对于运营平台的用户属性,比如用户的部门编码(customUserPrams: { deptno: 1100 })需要在运营平台系统事先配置好
//userKey: "user_id", // cookie里面用户的唯一标示
//autoWatchClick: true, // 默认开启自动监听hottag
//isWxEnv: false// 是否微信环境,微信环境会通过wx.getNetworkType获取网络环境
// 通过传入函数,可以让业务方写代码传入要上报的属性,让sdk获取并且进行上报,减少重复编码
//getCusParams: function () {
// return {si:"111"};// 支持的参数参考附录1
//},
// isAuthentication: false, // 是否开启鉴权
// authenticationKey: {} // 鉴权字段
});
</script>
3、页面埋点上报
页面pv上报(如果在配置中开启了autoReportPV=true自动上报,则不需要执行下列代码), 使用该种上报模式的目的是为了额外上报一些参数,例如做页面参数分析
/*
* 参数1:params(非必填) 额外参数对象(kv是页面的额外参数,在报表页面的页面参数分析页中可以看到上报的kv值)
* */
yyptReport.reportPV({kv:{money:1}})
4、事件埋点上报
4.1 在html标签中写入hottag属性(autoWatchClick=true则会监听有hottag的标签)
<button hottag="ISD.SHOW.INDEX.button2">上报2</button>
4.2 使用代码埋点上报
/*点击流上报
* 参数1:ei(必填) 自定义事件id string
* 参数2:params(非必填) 额外参数对象(kv是事件的额外参数,在报表页面的事件参数分析页中可以看到上报的kv值)
* 参数3:cache(非必填) 缓存,下次在上报
* 参数4:event事件源对象(非必填)(触发事件的dom元素
* */
yyptReport.eventClick('ISD.SHOW.INDEX.button',{kv:{money:1}},false,this)
/*事项上报
* 参数1:ei(必填) 自定义事件id string
* 参数2:params(非必填) 额外参数对象(kv是事件的额外参数,在报表页面的事件参数分析页中可以看到上报的kv值)
region:区域码
itemId: 事项编码
itemStatus: 事项状态 entrance:进入 success:成功 fail:失败
itemOpen: true 是否把事项编码转换成埋点id(默认是true,开启后,后端会用事项编码来获取对应的埋点id)
* 参数3:cache(非必填) 缓存,下次在上报
* 参数4:event事件源对象(非必填)(触发事件的dom元素
* */
yyptReport.eventClick('MP_SHIXIANG',{kv:{itemId:'1254114aeaa55', itemStatus:'success', itemOpen: true, region:4402}},false,this)
说明
1)、ei(事件id)在设置的时候最好有一定的含义,比如xx业务.yy模块.zz功能.mm按钮
2)、3.1和3.2的埋点方式的区别:3.2是直接通过代码方式进行上报,可以设置该次上报是否缓存起来到 下次在上报,比如点击按钮后跳转到下个页面在上报(因为如果是多页应用的话,你点击按钮后跳转到下个页面的话, 如果立即上报会导致页面还没接收 到结果就跳转到下个页面,引起上报错误)。另外可以上报额外的参数,比如事件的额外参数(kv)
5、推广渠道统计
sdk会直接取url(cookie/sessionStorage)中的adt参数,例如推广的时候在url后面写入www.xxx.com?adt=qudaohao
特殊说明
如果从某个推广渠道进入,不管是多页应用还是单页应用,在页面切换的时候, 有两种保证渠道号不丢失的方法:
1)、把adt放入即将跳转的url后面(url?adt=qudaohao)
2)、把adt写入cookie或者sessionStorage中,key为adt(sessionStorage.setItem("adt","qudaohao"))
附录1
{
ky: "",//app key,应用的身份标识
pf: "H5",// 平台类型
id: '',// 平台型相关的ID字段,如微信平台中则是open_id
cui: "",// custom user id,自定义用户id,用户上报的自定义用户id,也就是app业务方统计用户的身份标识,用于多平台帐号打通。
geo: "",// 地理位置
region: "", //区划
ua: navigator.userAgent,// user agent,系统默认的ua
ev: {
"cn": "unknown",//connect type,设备连接方式
"lg": (navigator.language || navigator["browserLanguage"]).toLowerCase(),//anguage,系统语言类型
"sr": "",//screen resolution,屏幕分辨率
"tz": new Date().getTimezoneOffset(),//time zone,系统的时区
"os": "", //操作系统,
"av": "" //app version,应用的版本(App版本号)
},
ui: "",// 一个随机生成的id,因为大多数没有id,cui,所以用ui计算uv
si: "",//session id,会话id,一串随机产生的数字,标识一个新的会话
ts: "",//timestamp,时间戳
pi: "",// page id,页面id
rf: "",// refer page id,来源页面id
et: "1",// eventtype,事件类型,PAGE_VIEW(1),PAGE_HIDE(3001),SESSION_ENV(2),ERROR(3),CUSTOM(1000),ADDITION(1001),MONITOR_STAT(1002);SPECIAL_CUSTON(),小程序onshow使用PAGE_VIEW,关闭或隐藏时使用PAGE_HIDE,事件使用1000
ht: "",// hot tag string 屏幕的点击事件ID
htx: "",// hot tag x string 点击位置的X坐标
hty: "",// hot tag y string 点击位置的Y坐标
dm: location.hostname, // 域名 string 域名
rdm: document.referrer, // 来源域名 string 来源域名
ei: "",// event id,自定义事件id string 自定义事件id
kv: "",// Key-Value,自定义事件Key-Value参数对 map JSON格式
du: "",// duration,间隔时间 uint "单位是秒(实际如果不足1秒记为1秒)。有两种用途:自定义事件(et=1000)中某事件的时长,页面事件(et=1)中用户访问某个activity时长"
er: "",// error,错误、异常信息 string 错误字符串或堆栈异常信息
ea: "",//error attribute uint 共有4种错误类型:USER_MSG(0)、USER_EXCEPTION(1)、AUTO_EXCEPTION(2)、NATIVE_CRASH(3)、SDK_EXCEPTION(99)
sp: "",// APP测速结果 json数组 专用于APP测速功能
ext: "",//扩展字段,不进行计算,可存储更细的用户信息
cp: "",// 用户自定义的额外属性
adt: "",// 渠道来源
}