1.从 npm 获取 SDK, npm install sa-sdk-javascript
2.在main.js里写入
import App from './App.vue';
import { createSSRApp } from 'vue';
import sensors from 'sa-sdk-javascript';

//神策数据Web JS SDK初始化配置
sensors.init({
	server_url: '数据接收地址',
	// is_track_single_page:true, // 单页面配置,默认关闭。开启后自动监听 URL 有变化就会触发 $pageview 事件
	// use_client_time: true, 
	send_type:'beacon',
	show_log: true, //设置 true 后会在网页控制台打 logger,会显示发送的数据,设置 false 表示不显示。
	// is_track_single_page: true,
	// batch_send:{
	// 	datasend_timeout: 6000, //一次请求超过多少毫秒的话自动取消,防止请求无响应。
	// 	send_interval: 6000, //间隔多少毫秒发一次数据。
	//   storage_length: 200 // 存储 localStorage 条数最大值,默认:200 。如 localStorage 条数超过该值,则使用 image 方式立即发送数据。v1.24.8 以上支持。
	// },
	heatmap: {
		//是否开启点击图(Web元素点击),default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭。
		clickmap:'not_collect',
		// get_vtrack_config: false,
		//是否开启触达图(视区停留事件),not_collect 表示关闭,不会自动采集 $WebStay 事件,可以设置 'default' 表示开启。
		scroll_notice_map:'default',
		//通过 collect_tags 配置是否开启 div 的全埋点采集
		// collect_tags:{
		//   div : true  
		// },
		//scroll_delay_time: 400, //设置触达图的有效停留时间,默认超过 4 秒以上算有效停留。(毫秒)
		scroll_event_duration: 30, //预置属性停留时长 event_duration 的最大值,默认 18000 秒,5 小时。
	},
	// preset_properties:{
	// 	//是否采集最近一次落地页地址,默认值 false。
	// 	latest_landing_page:true,
	// 	//是否采集最近一次站外域名,默认是 false,需要手动设置为 true 开启。
	// 	latest_referrer_host:true,
	// }
});
// sensors.registerPage({
// 	platform_type: "H5" //公共属性:平台类型
// })
//sensors.quick('autoTrack'); //用于采集 $pageview 事件(Web页面浏览)。
	
export function createApp() {
  const app = createSSRApp(App);
  app.provide('$sensors', sensors)
  return {
    app,
  };
}
3.此处我是手动埋点调用了$pageview事件,在App.vue中写入
<script setup>
	import { useRouter } from 'vue-router';
	import { inject } from "vue"
	const $sensors = inject('$sensors')
	const router = useRouter();

	//神策数据手动埋点用于采集 $pageview 事件(Web页面浏览)
	router.beforeEach((to, from, next) => {
		//计算出referrer的值,落地页和项目其他页面都使用这个
		const newReferrer = from.href ? `${location.origin}${location.pathname}${from.href}` : '';
		uni.setStorageSync('new_referrer', newReferrer);
		//此处埋点不包括落地页,因为我的落地页title 是从后端接口拿的,写法和下边差不多
		if(to.meta.navigationBar.titleText){
			document.title = to.meta.navigationBar.titleText;
			const newUrl = `${location.origin}${location.pathname}${to.href}`
			$sensors.track('$pageview', {
				newUrl: newUrl,
				newReferrer: newReferrer,
			});
		}
		next()
	})
</script>
4.自定义事件名和参数
<script setup>

const $sensors = inject('$sensors')

$sensors.track('自定义事件英文变量名', {
    key1: value1, //里面的内容也是根据需求定义
    key2: value2,
})

</script>
5.Web JS SDK 预置事件和预置属性

Web JS SDK 预置事件和预置属性-神策分析 帮助中心 | 数据分析使用手册https://manual.sensorsdata.cn/sa/docs/tech_sdk_js_preset_properties/v0300

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐