uniapp(h5)神策数据Web JS SDK使用(vue使用类似)
sensors.track('自定义事件英文变量名', {key1: value1, //里面的内容也是根据需求定义})</script>
·
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 预置事件和预置属性

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