专有钉钉微应用埋点以及本地调试埋点总结

最近在对接浙政钉,稳定性监控、通用采集 SDK、基础埋点、基础埋点,每次发布上去,工作人员那边反馈抓取不到信息

稳定性监控代码、通用采集 SDK

index.html

   <!-- 流量稳定监控 S 关于埋点上线打开--><script src="https://wpk-gate.zjzwfw.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js" crossorigin="true"></script><script>// 稳定性监控try {const config = {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('WpkReporter init fail', err);}// 通用采集 SDK(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.userAgentvar isAndroid = u.indexOf('Android') > -1var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)aplus_queue.push({action: 'aplus.setMetaInfo',arguments: ['appId', isAndroid ? '28302650' : isIOS ? '28328447' : '47130293']});</script>

基础埋点

具体到某个页面,或者封装一个方法,挂在到全局
注意:我们用的是taro-vue框架
utils/pointSDK

export async function addBuryPoint(account, accountId, openid, page_id, page_name, page_url) {// 3,用户信息埋点// 如采集用户信息是异步行为需要先执行这个BLOCK埋点aplus_queue.push({action: 'aplus.setMetaInfo',arguments: ['_hold', 'BLOCK']});// 2,基础埋点// 单页应用 或 “单个页面”需异步补充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: '34927',sapp_name: 'szwugen',page_id: page_id, // 可以用this.$route.meta.pagePath代替page_name: page_name, // 可以用this.$route.meta.name代替page_url: page_url // 可以用this.$route.meta.pagePath代替}]})// 设置用户ID,用户设备ID可不做上报,若上报可使用开放平台JSAPI获取UUID//用户id需要埋政钉用户真实信息,用户ID必须用accountId,可通过开放平台“获取用户详情”接口获取。aplus_queue.push({action: "aplus.setMetaInfo",arguments: ["_user_nick", account],});//用户id需要埋政钉用户真实信息,用户ID必须用accountId,可通过开放平台“获取用户详情”接口获取。aplus_queue.push({action: "aplus.setMetaInfo",arguments: ["_user_id", accountId],});aplus_queue.push({action: "aplus.setMetaInfo",arguments: ["_dev_id", openid],});// 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点// 此时被block住的日志会携带上用户信息逐条发出aplus_queue.push({action: "aplus.setMetaInfo",arguments: ["_hold", "START"],});
}

app.ts

import { createApp } from 'vue'
import './app.scss'
import { addBuryPoint } from './utils/pointSDK'
const App = createApp({onShow(options) { },// 入口组件不需要实现 render 方法,即使实现了也会被 taro 所覆盖
})
App.provide('addBuryPoint', addBuryPoint)
export default App

index.vue引入方式:

 const $addBuryPoint: any = inject("addBuryPoint");$addBuryPoint(zzd_UserInfo.account, zzd_UserInfo.accountId, zzd_UserInfo.openid,id,name,path);

本地调试

在这里插入图片描述

index.html

       <!-- 本地调试 引入的文件--><script src="https://g.alicdn.com/code/npm/@ali/dingtalk-h5-remote-debug-sdk/0.1.3/app.bundle.js"></script><script>//真机调试--有效期很短h5RemoteDebugSdk.init({uuid: "e3340b3f-bc34-4ea9-b06d-88904cc3a23b",observerElement: document.documentElement,});</script>

每次调试关闭都需要再后台重新生成一个uuid
在这里插入图片描述

注意:调试时一定要保证在同一网域,直接在专有钉钉通过h5地址访问,就可以看到日志了
在这里插入图片描述

在这里插入图片描述

注意:本地调试也不是完全好使,我在本地调试时,一直抓取不到用户信息,用了两天的时间也没找到原因,就抱着试试的态度审核了一版,没想到竟然能正常抓取用户埋点了,这个过程真的太煎熬了,不过结果至少是好的,顺利解决这个麻烦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA 中能提高开发效率的插件

目录 前言 插件 Rainbow Brackets AceJump POJO to JSON Json Helper MybatisX Maven Helper PlantUML Integration TONYYI Lingma 前言 IDEA 里又很多好用的插件可以帮助我们提升开发效率&#xff0c;这里罗列下自己开发过程中常用的插件&#xff0c;善于利用插件&…

【第十一届大唐杯全国大学生新一代信息通信技术大赛】赛题分析

赛道一 一等奖 7% 二等奖 15% 三等奖 25% 赛道二 参考文档&#xff1a; 《第十一届大唐杯全国大学生新一代信息通信技术大赛&#xff08;产教融合5G创新应用设计&#xff09;专项赛说明.pdf》 一等奖&#xff1a;7% 二等奖&#xff1a;10% 三等奖&#xff1a;20% 赛项一&am…

unity工程输出的log在哪里?

在编辑器里进行活动输出的log位置&#xff1a; C:\Users\username\AppData\Local\Unity\Editor\Editor.log ------------------------------------ 已经打包完成&#xff0c;形成的exe运行后的log位置&#xff1a; C:\Users\xxx用户\AppData\LocalLow\xx公司\xx项目

销售与营销的区别:从手中到心中

一、引言 在商界&#xff0c;销售和营销常常被视为同义词&#xff0c;但实际上它们各自扮演着不同的角色。简而言之&#xff0c;销售是将产品送到客户手里&#xff0c;而营销则是将产品送到客户心里。这种微妙的差异对于企业的成功至关重要。正如彼得德鲁克所说&#xff1a;“…

Elasticsearch 的索引优化常规项

优化常规项 https://blog.csdn.net/bairo007/article/details/132019575 1、按实际情况适当调整主分片的数量 如果主分片数量太少&#xff0c;会导致每个分片中的数据量过大&#xff0c;而且无法利用集群中所有节点的计算资源。如果主分片数量太多&#xff0c;会导致索引过度…

管理相关方参与的工具与技术

一、沟通管理计划 沟通管理计划是确保项目信息在相关方之间有效传递的基石。它详细描述了如何收集、生成、分发、存储和处置项目信息。沟通管理计划包括: 确定项目沟通的需求;明确沟通的方式、频率和渠道;规定信息分发和存储的责任;确定沟通效果的评估方法。二、相关方分析…

中文bert预训练

我们知道bert-base的大小大约在400M左右&#xff0c;有时候我们的任务比较简单&#xff0c;并不需要如此重量级的bert&#xff0c;这时候&#xff0c;我们可以使用轻量级的tiny-bert&#xff08;100M以内&#xff09;&#xff0c;在保证性能的同时&#xff0c;降低对硬件的门槛…

Kafka中groupid和auto.offset.reset的关系

当消费者已经存储偏移量时 不更改groupid(消费者)时&#xff1a;无论auto.offset.reset是latest还是earliest&#xff0c;都会从记录的偏移量开始消费&#xff0c;即最新的地方消费。 更改groupid(消费者)时&#xff1a;auto.offset.reset是latest时&#xff0c;从最新消费 aut…

Redis安装-Docker

安装redis的docker容器 1、创建redis挂载目录 mkdir -p /liuchaoxu/redis/{data,conf}2、复制配置文件 在 /liuchaoxu/redis/conf 目录中创建文件 redis.conf&#xff0c;文件从 redis-6.2.7.tar.gz 中解压获取 修改默认配置(从上至下依次)&#xff1a; #bind 127.0.0.1 …

游戏引擎中的物理应用

一、 角色控制器 Character Controller和普通的动态对象&#xff08;Dynamic Actor &#xff09;是不同的&#xff0c;主要的三个特点是: 它拥有可控制的刚体间的交互假设它是有无穷的摩擦力&#xff08;可以站停在位置上&#xff09;&#xff0c;没有弹性加速和刹车几乎立即…

《QT实用小工具·十》本地存储空间大小控件

1、概述 源码放在文章末尾 本地存储空间大小控件&#xff0c;反应电脑存储情况&#xff1a; 可自动加载本地存储设备的总容量/已用容量。进度条显示已用容量。支持所有操作系统。增加U盘或者SD卡到达信号。 下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #if…

spring项目监听redis的key失效事件

spring项目监听redis的key失效事件 redis的key失效事件监听配置 注意: redis单台可以监听key失效事件 只在database 0上支持这个特性 哨兵模式可以监听redis的key失效事件,主的挂了,从的变主,也能监听到 集群模式下, 无法获取key失效通知,需要监听所有的服务才能实现 修改…

云原生数据库特征

分层架构 处理流程分为 计算服务层、存储服务层、共享服务层。 计算服务层负责解析SQL&#xff0c;转化为物理执行计划。 存储服务层负责数据缓存与事务处理。 共享存储层负责数据的持久化存储。 资源解耦与池化 虚拟化技术实现资源池化&#xff0c;按需按量使用&#xf…

vue项目引入微信sdk: npm install weixin-js-sdk --save报错

网上查到要用淘宝的镜像 同事告知旧 域名&#xff1a;https://registry.npm.taobao.org/已经不能再使用 使用 npm config set registry http://registry.npmmirror.com

css心跳动画

图标引入 <img class"icon" src"heart.svg" alt"" srcset""> CSS代码 <style>.icon {animation:bpm 1s linear,pulse 0.75s 1s linear infinite;}keyframes pulse {from,75%,to {transform: scale(1);}25% {transform:…

极简云验证 download.php 文件读取漏洞复现

0x01 产品简介 极简云验证是一款开源的网络验证系统&#xff0c;支持多应用卡密生成&#xff1a;卡密生成 单码卡密 次数卡密 会员卡密 积分卡密、卡密管理 卡密长度 卡密封禁 批量生成 批量导出 自定义卡密前缀等&#xff1b;支持多应用多用户管理&#xff1a;应用备注 应用版…

智能仪器驱动企业数字化转型 迈向智慧未来!

在当今数字化时代&#xff0c;企业正面临着前所未有的挑战和机遇。为了在竞争激烈的市场中立足并实现可持续发展&#xff0c;数字化转型已成为企业的当务之急。智能仪器作为数字化转型的核心驱动力&#xff0c;以其卓越的性能和创新的技术&#xff0c;为企业开启了通向智慧未来…

C_C++数据的在内存中的分布

C/C内存分布 在编程世界中&#xff0c;C和C语言一直以其强大的性能和灵活性著称。然而&#xff0c;这种强大和灵活的背后&#xff0c;离不开对内存分布的深入理解和熟练掌握。本文将详细介绍C/C程序中的内存分布&#xff0c;包括栈、堆和全局变量的存储区域。下面是c/c中&…

hyperf 多数据库(要分库的来看)实时连接第二方案(无需预先定义config连接池,无需重启项目)

第一方案连接&#xff1a; https://blog.csdn.net/mark885/article/details/137040284思路&#xff1a;通过 Hyperf\Contract\ConfigInterface 配置接口类修改内存中的配置信息&#xff0c;在框架启动完成后的事件中定义监听&#xff08;效果是框架启动后自动设置一次数据库连…

基于OrangePi Zero2的智能家居项目(开发阶段)

智能家居项目的软件实现 紧接上文 基于OrangePi Zero2的智能家居项目&#xff08;准备阶段&#xff09;-CSDN博客 目录 一、项目整体设计 1.1项目整体设计 1.2具体划分 二、开发工作的前期准备 1、进行分类&#xff0c;并用Makefile文件进行管理 参考&#xff1a;自己创…