h5-yypt-report
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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: "",// 渠道来源
}

Readme

Keywords

Package Sidebar

Install

npm i h5-yypt-report

Weekly Downloads

4

Version

1.0.1

License

MIT

Unpacked Size

157 kB

Total Files

4

Last publish

Collaborators

  • domy