浙政钉埋点处理的记录

24 阅读2分钟

浙政钉埋点处理分为稳定性监控和流量监控两个

稳定性监控

稳定性监控在index.html的head内引入官方 sdk

 <script src='https://wpkgate-emas.ding.zj.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js' crossorigin='true'></script>
    <!-- 稳定性监控 -->
    <script>
      try{
        const config = {
          bid: 'xxxxxx',//bid一般是应用标识加_zzdpro 可以直接向甲方要
          signkey: '1234567890abcdef',
          gateway: 'https://wpkgate-emas.ding.zj.gov.cn'
        };
        const wpk = new wpkReporter(config);
        wpk.installAll();
        window._wpk = wpk;
      }catch(err){
        console.error('WpkReporterinitfail',err);
      }
    </script>

流量监控

流量监控需要在每个页面都调用一次,参数有重复的部分,一部分写在index.html内即可 直接cv

 <!-- 流量分析 -->
    <script>
      (function(w, d, s, q, i) {
        w[q] = w[q] || [];
        var f = d.getElementsByTagName(s)[0],j = d.createElement(s);
        j.async = true;
        j.id = 'beacon-aplus';
        j.src = 'https://alidt.alicdn.com/alilog/mlog/aplus_cloud.js';
        f.parentNode.insertBefore(j, f);
      })(window, document, 'script', 'aplus_queue');
    
      aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['aplus-rhost-v', 'alog-api.ding.zj.gov.cn']
      });
      aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['aplus-rhost-g', 'alog-api.ding.zj.gov.cn']
      });
    
      var u = navigator.userAgent
      var isAndroid = u.indexOf('Android') > -1
      var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)

      aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['appId', isAndroid ? '28302650' : isIOS ? '28328447' : '47130293']
      });
  </script>    

另外的需要在每个页面调用,记录下用户的浏览页面

首先对路由进行修改 给meta内加入信息如下

image.png

写个通用js在每个页面下引入 vue3就用hook vue2就用mixin 其他形式也可以

//浙政钉--各页面埋点
//route直接读取路由信息获得页面信息
export function addBaseAplus(route: routeConfig) {
  //基础埋点
  // 单页应用 或 “单个页面”需异步补充PV日志参数还需进行如下埋点: 
  aplus_queue.push({
    action: "aplus.setMetaInfo",
    arguments: ["aplus-waiting", "MAN"],
  });

  // 单页应用路由切换后 或 在异步获取到pv日志所需的参数后再执行sendPV:
  aplus_queue.push({
    action: "aplus.sendPV",
    arguments: [
      {
        is_auto: false,
      },
      {
        // 当前你的应用信息,此两行请勿修改
        sapp_id: "xxxx",//甲方要
        sapp_name: "xxxx",//甲方要
        // 自定义PV参数key-value键值对(只能是这种平铺的json,不能做多层嵌套),如:
        page_id: route.meta.id,
        page_name: route.meta.title,
        page_url: route.path,
      },
    ],
  });

  //用户信息埋点
  // 如采集用户信息是异步行为需要先执行这个BLOCK埋点
  aplus_queue.push({
    action: "aplus.setMetaInfo",
    arguments: ["_hold", "BLOCK"],
  });

  // 设置会员昵称
  aplus_queue.push({
    action: "aplus.setMetaInfo",
    arguments: ["_user_nick", "xxxx"],
  });

  // 设置会员ID
  aplus_queue.push({
    action: "aplus.setMetaInfo",
    arguments: ["_user_id", "xxxxx"],//浙政钉的accountId
  });

  // 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点
  // 此时被block住的日志会携带上用户信息逐条发出
  aplus_queue.push({
    action: "aplus.setMetaInfo",
    arguments: ["_hold", "START"],
  });
}

关于查看埋点成功与否,官方网站上是 周二和周四的晚上才会更新前一天数据 埋点成功后 稳定性监控内会显示记录,流量监控(成功) 左侧会显示记录 ,右侧(部分成功)没有数据即为成功