百度小程序 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);

通过上面的示例,可以在任意流程进行事件埋点

数据校验指引

results matching ""

    No results matching ""