1. 集成 uni-app 插件
下载 uni-app 插件(https://download.zalldata.cn/sdk/),将下载的 uni-app-sdk 文件夹放在自己项目中的 common 文件夹中
2. 使用 uni-app 进行埋点
2.1 设置全局变
2.1.1 globalData 设置全局变量
- App.vue 文件中配置
script>
import zall from ' uni-app JS SDK 路径/index.js';
zall.setPara({
server_url:"https://xxxxx", //数据上报地址 必填 @Platform All
show_log:true, //日志打印 @Platform All
name:'zall', //参考小程序文档 @Platform 小程序
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 $MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 $MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 $MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 $MPPageLeave事件采集
},
app_flush_interval:15000, //设置两次数据发送的最小时间间隔 @Platform Android&iOS
app_flush_bulkSize:100, //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
app_flush_network_policy:30, // 设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush
// TYPE_NONE = 0;//NULL
// TYPE_2G = 1;//2G
// TYPE_3G = 1 << 1;//3G 2
// TYPE_4G = 1 << 2;//4G 4
// TYPE_WIFI = 1 << 3;//WIFI 8
// TYPE_5G = 1 << 4;//5G 16
// TYPE_ALL = 0xFF;//ALL 255
// 例:若需要开启 4G 5G 发送数据,则需要设置 4 + 16 = 20
app_session_interval_time:30000, //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
app_data_collect:true //是否开启数据采集 @Platform Android
});
//初始化方法 @Platform H5、小程序
zall.init();
export default {
globalData:{
zall:zall
},
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
- main.js 文件中配置
import zall from 'uni-app JS SDK 路径/index.js';
zall.setPara({
server_url:"https://xxxxx", //数据上报地址 必填 @Platform All
show_log:true, //日志打印 @Platform All
name:'zall', //参考小程序文档 @Platform 小程序
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 $MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 $MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 $MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 $MPPageLeave事件采集
},
app_flush_interval:15000, //设置两次数据发送的最小时间间隔 @Platform Android&iOS
app_flush_bulkSize:100, //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
app_flush_network_policy:30, //设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush @Platform Android&iOS
app_session_interval_time:30000, //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
app_data_collect:true //是否开启数据采集 @Platform Android
});
//初始化方法 @Platform H5、小程序
zall.init();
在 Page 中获取插件实例方式如下
- vue页面
<script>
var zall = getApp().globalData.zall;
</script>
- JS页面
import zall from ' uni-app JS SDK 路径/index.js';
2.1.2 import 方式设置全局变量
App.vue 文件中配置
<script> import zall from 'uni-app JS SDK 路径/index.js'; zall.setPara({ server_url:"https://xxxxx", //数据上报地址 必填 @Platform All show_log:true, //日志打印 @Platform All name:'zall', //参考小程序文档 @Platform 小程序 autoTrack:{ appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集 appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集 appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集 pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集 pageShare: true, // 默认为 true,false 则关闭 $MPShare 事件采集 mpClick: false, // 默认为 false,true 则开启 $MPClick 事件采集 mpFavorite: true, // 默认为 true,false 则关闭 $MPAddFavorites 事件采集 pageLeave: false // 默认为 false, true 则开启 $MPPageLeave事件采集 }, app_flush_interval:15000, //设置两次数据发送的最小时间间隔 @Platform Android&iOS app_flush_bulkSize:100, //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS app_flush_network_policy:30, //设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush @Platform Android&iOS app_session_interval_time:30000, //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid app_data_collect:true //是否开启数据采集 @Platform Android }); //初始化方法 @Platform H5、小程序 zall.init(); </script>
main.js 文件中配置
import zall from 'uni-app JS SDK 路径/index.js';
zall.setPara({
server_url:"https://xxxxx", //数据上报地址 必填 @Platform All
show_log:true, //日志打印 @Platform All
name:'zall', //参考小程序文档 @Platform 小程序
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 $MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 $MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 $MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 $MPPageLeave事件采集
},
app_flush_interval:15000, //设置两次数据发送的最小时间间隔 @Platform Android&iOS
app_flush_bulkSize:100, //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
app_flush_network_policy:30, //设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush @Platform Android&iOS
app_session_interval_time:30000, //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
app_data_collect:true //是否开启数据采集 @Platform Android
});
//初始化方法 @Platform H5、小程序
zall.init();
在 Page 中获取插件实例方式如下
- vue页面
<script>
import zall from 'uni-app JS SDK 路径/index.js';
</script>
- JS页面
import zall from 'uni-app JS SDK 路径/index.js';
2.2 代码埋点
具体的位置添加事件埋点,以按钮点击时触发事件为例
其中对应的事件名为:BuyProduct; 对应的事件自定义属性为 ProductID 和 UserLevel;
zall.track("BuyProduct",{ProductID : "Laptop Computer", UserLevel : 3});
2.3 用户登录
当用户注册成功或者登录成功时,需要调用 login 接口
zall.login("<#登录 id#>");
为了准确记录登录用户的行为信息,建议在以下时机个调用一次 login 接口
- 用户在注册成功时;
- 用户登录成功时;
- 已登录用户每次启动 App 时。
2.4 记录激活事件
可以在设置全局变量后调用激活接口
zall.trackAppInstall({DownloadChannel : "AppStore"});
2.5 设置公共属性
对于所有事件都需要添加的属性,在设置全局变量后调用 register 方法将属性注册为公共属性
zall.register({key1:"value1",key2 : "value2"});
- 公共属性在 H5 的页面生命周期内有效
- 小程序在 App 生命周期内有效
- App 会保存在本地缓存中
- 可以通过调用 unRegister 方法删除一个或者多个公共属性。也可以使用 clearRegister 方法删除所有已经设置的公共属性
2.6 设置用户属性
setProfile 方法可以设置用户属性,同一个 key 多次设置时,value 值会进行覆盖替换
zall.setProfile({key1:"value1",key2:"value2"});