百度小程序 SDK
1、百度小程序 SDK的最新版本是2.1.10 点击下载
2、在本地开发环境会提示不在以下request 合法域名列表中,可以通过设置不校验域名来处理;
发布体验版或线上版本,需要在开发者后台将下列域名加入服务器域名中的request合法域名中
https://tsapiqa.escase.cn
https://tsapi.escase.cn
如有使用server_url,则需要将server_url的域名加到合法域名中
一、集成SDK
1.1 原生小程序 / Taro
在小程序项目的 app.js 文件中通过 import 引入 SDK,配置初始化参数并调用SDK的tracking方法集成SDK
// 引入 SDK
import ests from './SDK/yh-sdk-baidu2.1.10.min.js'
// 初始化参数
const trackingConfig = {
debug: true, // 调试模式,可在控制台打印上报的埋点数据
server_url: '私有部署服务域名',//数据接收地址,用于私有部署服务的场景
ts_app: '应用标识',//同项目(同一个app_key)需要区分不同的多档活动的标识
autoTrack: {//自动采集对应生命周期的事件,默认为true:采集, false为不采集
// appLaunch: false,//是否采集小程序首次启动事件
// appShow: false,//是否采集小程序启动事件
// pageShow: false,//是否采集小程序页面浏览事件
// appHide: false,//是否采集小程序页面关闭/进入后台事件
// pageShare: false,//是否采集小程序分享事件
},
allow_amend_share_path: false, //是否允许修改分享链接参数,用来监测分享数据
// channelField: "business_channel"// Tracking System渠道参数,默认获取链接的“business_channel”参数作为渠道参数
}
//调用SDK的tracking方法集成SDK 首个参数为Tracking System提供的app_key,必须
//如autoTrack.pageShow: true,调用此方法会自动采集页面浏览数据
ests.tracking('qa157646865XXX', trackingConfig)
1.2 uni-app
在项目的 main.js 或 App.vue 中通过 import 引入 SDK,配置初始化参数并调用SDK的tracking方法集成SDK
// 引入 SDK
import ests from './SDK/yh-sdk-baidu2.1.10.min.js'
// 初始化参数
const trackingConfig = {
debug: true, // 调试模式,可在控制台打印上报的埋点数据
ts_app: '应用标识',//同项目(同一个app_key)需要区分不同的多档活动的标识
autoTrack: {//自动采集对应生命周期的事件,默认为true:采集, false为不采集
// appLaunch: false,//是否采集小程序首次启动事件
// appShow: false,//是否采集小程序启动事件
// pageShow: false,//是否采集小程序页面浏览事件
// appHide: false,//是否采集小程序页面关闭/进入后台事件
// pageShare: false,//是否采集小程序分享事件
},
allow_amend_share_path: false, //是否允许修改分享链接参数,用来监测分享数据
// channelField: "business_channel"// Tracking System渠道参数,默认获取链接的“business_channel”参数作为渠道参数
}
//调用SDK的tracking方法集成SDK 首个参数为Tracking System提供的app_key,必须
//如autoTrack.pageShow: true,调用此方法会自动采集页面浏览数据
ests.tracking('qa157646865XXX', trackingConfig)
二、设置用户属性
在登录成功后调用setUserInfo方法设置用户属性,且必须在调用了sdk.tracking()方法后调用。
参数说明:JsonObject,只支持以下属性的设置
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
guid | String | 是 | 业务系统用户唯一标识(如果使用open_id作为用户标识,则值与open_id一致) |
open_id | String | 是 | 用户open_id |
union_id | String | 否 | 用户union_id |
real_name | String | 否 | 真实姓名 |
nick_name | String | 否 | 昵称 |
age | Number | 否 | 年龄 |
birthday | String | 否 | 生日 |
gender | String | 否 | 性别: 男/女 |
account | String | 否 | 账号 |
country | String | 否 | 国家 |
province | String | 否 | 省份 |
city | String | 否 | 城市 |
示例
var app = getApp()
app.ests.setUserInfo({
guid: "xxx",//用户唯一标识,可用业务系统自己的用户ID;如果微信环境可以用open_id作为guid来标识用户;可选
open_id: "otzXTjovtYkMOx56Phy764-XXXXX",//用于微信环境下open_id的获取;如果没有,可以不设置;可选
union_id: "oDSWq1S0lPkZk0SVL2K_2JmpdXXX"//用于微信环境下的union_id获取;如果没有,可以不设置;可选
})
三、采集页面数据
在页面展示的对应生命周期内,可设置自定义页面名称、页面标题、自定义扩展属性等
示例
var app = getApp()
//设置全局自定义扩展属性 可选
app.ests.setTsExt("TestA")
//设置页面名称 可选
app.ests.setPageName('自定义页面名称')
//设置页面标题 可选
app.ests.setPageTitle('自定义页面标题')
//发送采集页面数据请求 可选 如开启了页面自动采集事件(ests.tracking),则不能调用该方法
// app.ests.pageview()
至此已完成对页面数据的采集,用户访问页面,即可监测到对应数据
四、自定义事件埋码
SDK 初始化后,通过 event
方法自定义事件跟踪用户行为,并为事件添加自定义事件属性
接口参数类型:JsonObject
JsonObject中的每个参数如下
- event_name:String 事件名称,必须
- event_param:JsonObject 事件属性,非必须
示例 1:查看商品,加入购物车流程
// 在进入商品详情页面加载完成后埋点上传「商品详情」事件
//获取app实例
var app = getApp()
var eventInfo = {
//定义事件名称
event_name: "商品详情",
// 定义事件属性
event_param: {
"productId": "1",
"productName": "源慧大礼品",
"productCategory": "电子",
}
}
//调用采集事件接口
app.ests.event(eventInfo);
// 在商品详情页面为加入购物车按钮进行埋点上传,事件为「加入购物车」
var eventInfo = {
//定义事件名称
event_name: "加入购物车",
// 定义事件属性
event_param: {
"productId": "1",
"productName": "源慧大礼品",
"productCategory": "电子",
}
}
//调用采集事件接口
app.ests.event(eventInfo);
示例 2:用户登录流程
// 点击登录按钮后未提交登录请求前进行埋点上传,事件为「登录」,该事件属性为空
//获取app实例
var app = getApp()
var eventInfo = {
//定义事件名称
event_name: "登录"
}
//调用采集事件接口
app.ests.event(eventInfo);
// 点击登录按钮提交登录请求后进行埋点上传,事件为「登录成功」
var eventInfo = {
//定义事件名称
event_name: "登录成功",
// 定义事件属性
event_param: {
"status": "success",// 设置登录状态 success/fail
"errMsg": ""// 设置登录失败错误信息
}
}
//调用采集事件接口
app.ests.event(eventInfo);
通过上面的示例,可以在任意流程进行事件埋点