npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

h5-yypt-report

v1.0.1

Published

数据上报jssdk

Downloads

3

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