uniapp 集成友盟并且上传页面路径

如果不需要上传页面路径可以看看这篇https://blog.csdn.net/2301_78184382/article/details/156606416?spm=1011.2415.3001.5331

项目用的uniapp 框架是vue3目前项目中有个需求是需要统计用户访问地址和停留时间,话不多说上代码

插件地址

https://ext.dcloud.net.cn/plugin?id=12026

友盟https://workbench.umeng.com/去创建app应用

appkey查看位置,管理下面的应用管理的应用列表

在manifest.json中模块配置勾选统计

在manifest.json常用其他设置urlSchemes 这一步是为了调试的时候去看实时数据

新增mixin.js页面

javascript 复制代码
// main.js
import {
	createSSRApp
} from 'vue';
// #ifdef APP-PLUS
const UMStatistic = uni.requireNativePlugin('UM-Statistic');
// #endif
// 定义全局 mixin 对象
export const globalMixin = {
	// 生命周期(UniApp 页面生命周期)
	onLoad() {
		// #ifdef APP-PLUS
		//初始化,勾选友盟统计模块配置文件里面配置了appkey和channel时调用此接口初始化
		UMStatistic.UMinit();
		// #endif
		//appkey和channel初始化,未配置时用此接口初始化
		//UMStatistic.initWithAppkey(appkey, channel);
	},
	onShow() {
		var enable = false;//true:自动采集页面 false:手动采集页面
		console.log('页面显示')
		let pageValue = this.$getPath();
		// #ifdef APP-PLUS
		UMStatistic.setAutoPageEnabled(enable);
		UMStatistic.onPageStart(pageValue);
		// #endif
		console.log('页面显示', pageValue)
	},
	onHide() {
		let pageValue = this.$getPath();
		// #ifdef APP-PLUS
		UMStatistic.onPageEnd(pageValue);
		// #endif
	},
	// 自定义数据
	data() {
		return {
			globalTitle: '全局标题'
		}
	},
	// 全局方法
	methods: {
		// 显示提示
		$toast(title, duration = 2000) {
			uni.showToast({
				title,
				duration,
				icon: 'none'
			})
		},

		// 跳转页面
		$navigate(url) {
			uni.navigateTo({
				url
			})
		},

		// 获取当前页面路径
		$getPath() {
			const pages = getCurrentPages()
			return pages[pages.length - 1]?.route || ''
		}
	}
}

// export function createApp() {
//   const app = createSSRApp(App)

//   // 注册全局 mixin
//   app.mixin(globalMixin)

//   return { app }
// }

在main.js中去引入

javascript 复制代码
import {globalMixin} from '@/common/mixin.js'
export function createApp() {
	const app = createSSRApp(App)
	app.mixin(globalMixin)
	return {
		app,
		Vuex
	}
}

设置完了就需要打自定义基座,删除旧基座去重新运行

安卓文档集成测试

https://developer.umeng.com/docs/119267/detail/118639

ios文档集成测试

https://developer.umeng.com/docs/119267/detail/119520

登录友盟跳转查看实时日志

https://mobile.umeng.com/platform/config/check/realtimelog

相关推荐
爱丶不疚13 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
求道於盲13 小时前
python中的类型标注
前端
计算机魔术师13 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
专业抄代码选手14 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙14 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript
LEE14 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端
parade岁月14 小时前
为了给表格加虚拟滚动而选了 vxe-table?也可以考虑下这个
前端·vue.js
打呵欠的猫14 小时前
一个 Hook 让 AI 每次写文件前自动检查编码规范,违规代码再也提交不进来
前端·ai编程·代码规范
恋猫de小郭14 小时前
Android 17 + OkHttp 5.5.0 ,全新 ECH 下你的 HTTPS 域名可以请求时被安全隐藏
android·前端·flutter
后除15 小时前
从零到一: 创建一个 TypeScript 7 项目
前端·webpack·typescript