首页 > 其他分享 >浙政钉H5埋点

浙政钉H5埋点

时间:2024-03-25 15:23:12浏览次数:16  
标签:name aplus H5 浙政钉 埋点 id 页面

浙政钉埋点——H5

写在前面:本篇内容针对的是浙政钉H5应用的埋点,如果是小程序,请查阅 浙政钉埋点——小程序

准备工作:
1、浙政钉埋点官方开发手册:浙政钉-H5&小程序应用采集开发手册
2、准备bid、sapp_id、spp_name(每个应用的bid、spp_id和spp_name都是不同的,不知道的问业主要)

项目结构如下

下面开始埋点

1、首先在index.html中引入如下代码 该文件中需要替换bid参数,不知道bid的问业主要
这段代码是 稳定性监控部分流量分析 代码 将这些代码添加至head标签中

<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: "替换为你自己的bid",
              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);
          }
          (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>

2、封装流量分析埋点代码,zzdmd.js代码如下,该文件中一共有两个需要替换的参数,分别是sapp_id和sapp_name,根据实际情况填写

/* eslint-disable */
export function setMd (page_id, page_name, page_url,  _user_id) {

    // 用户信息埋点----------------------------------------
    // 单页应用 或 “单个页面”需异步补充PV日志参数还需进行如下埋点 ------
    /* eslint-disable-next-line */
    aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['aplus-waiting', 'MAN']
    });
    /* eslint-disable-next-line */
    aplus_queue.push({
        'action': 'aplus.sendPV',
        'arguments': [{
            is_auto: false
        }, {
            // 当前你的应用信息,此两行按应用实际参数修改,不可自定义。
            sapp_id: '替换为-业主给你的sapp_id',
            sapp_name: '替换为-业主给你的sapp_name',
            page_id: page_id, // 可以用this.$route.meta.pagePath代替
            page_name: page_name, // 可以用this.$route.meta.name代替
            page_url: page_url // 可以用this.$route.meta.pagePath代替
        }]
    })
    aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['_hold', 'BLOCK']
    })
    // 设置会员ID
    /* eslint-disable-next-line */
    aplus_queue.push({
        action: "aplus.setMetaInfo",
        arguments: ["_user_id", _user_id] // 当前登录的浙政钉用户id,传参示例:uni.getStorageSync('userInfo').employeeCode)
    })
    
    // 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点
    // 此时被block住的日志会携带上用户信息逐条发出
    /* eslint-disable-next-line */
    aplus_queue.push({
        action: 'aplus.setMetaInfo',
        arguments: ['_hold', 'START']
    });
}

3、在每个页面中调用上述封装的方法,我这里使用全局混入,zzdmdmx.js代码如下
注意:我使用的是uniapp,如果你是直接使用的vue的框架,在获取路由的方式上可能会略有不同,根据实际情况修改

/* eslint-disable */
import { setMd } from '@/common/zzdmd.js'
import {mapGetters} from "vuex";

export default {

  data () {
        return {
          mdName:'通用名称'
        }
    },
    computed: {
      ...mapGetters(["userInfo"])//我将用户信息存在了vuex中
    } ,
    onl oad() {
        this.zzdmdStart()
    },
    methods: {
        zzdmdStart () {
	  let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
	  let curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由
          /*
          一共需要传入4个参数,分别是:
          1、当前页面的id(使用前缀+当前路由的字符串即可)
          2、当前页面中文名称(请在每个页面的data中单独定义mdName,确保每个页面的mdName值不同)
          3、当前页面的url(使用当前路由的字符串即可)
          4、当前登录用户的accountId,根据实际代码调整
          */
          setMd('jnsqss_' + curRoute,this.mdName,curRoute,this.userInfo.dingAccountId)
        }
    }
  }

注意:使用该方法需要在每个页面的data中单独定义一个mdName,(mixin中data优先级小于组件中的data),比如首页index.vue,其他页面同样操作,确保每个页面的mdName不要相同

<template>
  首页
  ......
</template>
<script>
  export default{
    data(){
      return{
        mdName:'首页',
        ...
      }
    }
  }
</script>

4、在main.js中引入zzdmdmx.js

import zzdmdmx from '@/common/zzdmdmx.js'
Vue.mixin(zzdmdmx)

至此,埋点结束,怎么看埋点是否成功,参考下图,看看框出的参数是否都对的上,重点关注sapp_id和sapp_name,如果没有,那一定是不成功的


具体查询埋点是否成功,点这里,用浙政钉扫码登陆就行,好像每周一中午,周二周四晚上才会更新

标签:name,aplus,H5,浙政钉,埋点,id,页面
From: https://www.cnblogs.com/hongxinc/p/18094347/h5-zzdmd

相关文章

  • 浙政钉埋点——小程序
    浙政钉埋点——小程序准备工作:1、浙政钉埋点官方开发手册:浙政钉-H5&小程序应用采集开发手册2、准备sapp_id、spp_name(每个应用的spp_id和spp_name都是不同的,不知道的问业主要)3、下载小程序通用采集SDK,下载地址打开后直接全选复制下来,我自己命名为aplus_mini.js项目结构如下......
  • uniapp开发H5微信支付
    uniapp开发H5微信支付//#ifdefWEB||H5//npminstalljweixin-moduleconstjweixin=require('jweixin-module');//#endif/***对接支付*@paramparams对应orderInfo对象值*@return输入支付结果**/constgetPay=(params={})=>{ letprovid......
  • uniapp发布到h5调用Android原生拍照,相册,uniapp如何显示并上传
    先说一下我这边的需求:uniapp这边发布到h5,然后调用Android原生拍照,选择相册,最后将路径回调到uniapp,uniapp那边image要优先将图片回显出来,并将图片上传到服务器遇到的问题:1调用原生拍照,选择相册回调到uniapp,uniapp的image控件无法展示Android那边回调回来的图片路径,但是如......
  • CH57x,CH58x,CH59x芯片_SPI借助GPIO中断完成中断传输
    受其他项目的启发,如果IO充裕,且在SPI主机与SPI从机均可以自行编程的情况下,可以尝试在4线SPI的基础上增加两根GPIO线,通过IO中断的形式通知对方进行收数据;非SPI中断形式,以两颗CH582通讯为例,1、主机程序:voidmain(){SetSysClock(CLK_SOURCE_PLL_60MHz);GPIOA_ModeCfg......
  • 浙政钉小程序加入埋点
    研究好久,终于知道埋点怎么写了,我是使用原生写的,请参考!小程序埋点只需要添加稳定性监控代码(Emas)和流量分析代码(A+)**稳定性监控代码(Emas)**只需要在首页加入。**流量分析代码(A+)**每个页面都需要加入,但是可以写通用js,在其他页面引入。下载⼩程序通⽤采集SDK(可咨询群里提......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—主机通过从机蓝牙名称建立连接
    -------------------------------------------------------------------------------------------------------------------------------------  在蓝牙主机与蓝牙从机建立连接的方式有很多种,默认是通过MAC地址建立连接,这里讲解以蓝牙名称建立连接的方式。先获取到从机的扫描......
  • 整理h5进行微信支付的注意事项
    前言微信支付流程比支付宝的复杂的多限制也多,尤其是当你有多个公众号多个openid的时候,如何合理规划是非常重要的一环。我们首先需要在微信公众号申请开通微信支付功能,然后在用户进入我们页面时就触发授权(分为静默授权和手动授权),授权成功之后,拿到openid就可以进行创建订单--支......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—蓝牙主机睡眠模式,串口唤醒收发数据
    -------------------------------------------------------------------------------------------------------------------------------------  在使用蓝牙主机的时候,有时需要通过宏定义开启睡眠模式,从而达到降低芯片的功耗。蓝牙的睡眠是由协议栈自行管理的,在芯片睡眠状态......
  • 视觉slam十四讲CH5 ---相机与图像
    视觉slam十四讲---CH5相机与图像视觉slam中,作为主要传感器的相机自然起到着重要的作用,而相机拍摄的图像及其处理也是我们要做的工作之一。1.相机模型单目相机的针孔模型上图中的模型即为常见的单目相机的针孔模型示意。从5-1的左边我们可以看到有很多坐标系交杂在一......
  • 视觉slam十四讲 ---CH5 相机与图像
    视觉slam十四讲---CH5相机与图像视觉slam中,作为主要传感器的相机自然起到着重要的作用,而相机拍摄的图像及其处理也是我们要做的工作之一。1.相机模型单目相机的针孔模型上图中的模型即为常见的单目相机的针孔模型示意。从5-1的左边我们可以看到有很多坐标系交杂在一......