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

最近在对接浙政钉,稳定性监控、通用采集 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.hqwc.cn/news/593322.html

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

相关文章

12种常见的软件架构风格

什么是软件架构&#xff1f; 软件架构是定义软件系统的高级结构和组织的过程。它涉及识别和选择正确的组件&#xff0c;决定它们之间如何交互&#xff0c;以及确定它们应该如何组织以实现特定的目标。软件架构的目标是创建一个可维护、可扩展和安全的系统&#xff0c;能够满足…

【机器学习300问】59、计算图是如何帮助人们理解反向传播的?

在学习神经网络的时候&#xff0c;势必会学到误差反向传播&#xff0c;它对于神经网络的意义极其重大&#xff0c;它是训练多层前馈神经网络的核心算法&#xff0c;也是机器学习和深度学习领域中最为重要的算法之一。要正确理解误差反向传播&#xff0c;不妨借助一个工具——计…

java生成word

两种方案 一、poi-tl生成word <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency> public static void main(String[] args) throws Exception {String…

网络攻防中json序列化漏洞案例,fastjson远程命令执行漏洞原理

网络攻防中json序列化漏洞案例,fastjson远程命令执行漏洞原理。 网络攻防中的JSON序列化漏洞是指当应用程序使用JSON(JavaScript Object Notation)格式来序列化和反序列化对象时,由于不当处理或不安全的编程实践,导致攻击者能够执行恶意操作的安全漏洞。这些操作可能包括远…

【IoTDB 线上小课 01】我们聊聊“金三银四”下的开源

关于 IoTDB&#xff0c;关于物联网&#xff0c;关于时序数据库&#xff0c;关于开源...你是否仍有很多疑问&#xff1f; 除了自己钻研文档&#xff0c;群里与各位“大佬”的沟通&#xff0c;你是否还希望能够有个学习“捷径”&#xff1f; 天谋科技发起社区小伙伴&#xff0c;正…

设计模式总结-简单工厂模式

简单工厂模式 创建型模式创建型模式概述创建型模式种类 简单工厂模式模式定义模式动机模式结构模式分析模式实例与解析实例一&#xff1a;简单电视机工厂实例二&#xff1a;权限管理 模式优缺点简单工厂模式的优点简单工厂模式的缺点 模式适用环境模式扩展 小结 创建型模式 创…

Winodws Server重复数据删除技术

简介 官方文档&#xff1a; https://docs.microsoft.com/zh-cn/windows-server/storage/data-deduplication/overview 重复数据删除&#xff08;通常简称为删除重复&#xff09;是一项功能&#xff0c;可以帮助减少冗余数据对存储成本的影响。 启用后&#xff0c;重复数据删除…

爬虫学习第一天

爬虫-1 爬虫学习第一天1、什么是爬虫2、爬虫的工作原理3、爬虫核心4、爬虫的合法性5、爬虫框架6、爬虫的挑战7、难点8、反爬手段8.1、Robots协议8.2、检查 User-Agent8.3、ip限制8.4、SESSION访问限制8.5、验证码8.6、数据动态加载8.7、数据加密-使用加密算法 9、用python学习爬…

mac 切换 jdk

查看 mac 上都有哪些版本 /usr/libexec/java_home -V看准版本切换 按前缀切换 比如 export JAVA_HOME/usr/libexec/java_home -v 1.8这样会随机一个 1.8 的 如果想再确定一个比如 openjdk export JAVA_HOME/usr/libexec/java_home -v 1.8.0_292这个方式是临时的&#xff0c…

ChernoCPP 2

视频链接&#xff1a;【62】【Cherno C】【中字】C的线程_哔哩哔哩_bilibili 参考文章&#xff1a;TheChernoCppTutorial_the cherno-CSDN博客 Cherno的C教学视频笔记&#xff08;已完结&#xff09; - 知乎 (zhihu.com) C 的线程 #include<iostream> #include<th…

Linux-程序地址空间

目录 1. 程序地址空间分布 2. 两个问题 3. 虚拟地址和物理地址 4. 页表 5. 解决问题 6. 为什么要有地址空间 1. 程序地址空间分布 测试一下&#xff1a; #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/types.h>int ga…