# SDK 可代理事件

为了尽可能的简化 track 上报的数据,对大部分 非维度 的上报属性做了可代理处理。

点击获取数据采集代码示例 (opens new window)


# 可代理事件的上报 - App 相关

SDK 默认上报小程序的 启动显示隐藏 事件,可以在初始化的时候配置 trackApp: false 关闭该功能。



# 可代理事件的上报 - Page 相关

// SDK需要先通过init初始化才能正常使用
let sr = require('sr-sdk-wxapp').init({
  appid: 'wx9d********', // 微信小程序appID,以wx开头
  token: 'bi72f*******', // token是唯一必须配置的参数,请联系有数数据服务sr_data_service@tencent.com提供
  proxyPage: true // 是否开启自动代理 Page,默认是:false
})

  • 已使用小程序插件,SDK 提供 sdk.page 支持对 Page 的改造,如:
// SDK需要先通过init初始化才能正常使用
let sr = require('sr-sdk-wxapp').init({
  appid: 'wx9d********', // 微信小程序appID,以wx开头
  token: 'bi72f*******', // token是唯一必须配置的参数,请联系有数数据服务sr_data_service@tencent.com提供
  proxyPage: true, // 是否开启自动代理 Page,默认是:false
  usePlugin: true  // 是否使用了小程序插件,默认是:false
})

// pageA.js
const app = getApp();

Page(app.sr.page({
  data: {
    // ...
  },
  onShow,
  ...
}))


# 关于 page_title 的配置要求

由于官方没有提供页面标题的获取方式,小程序 SDK 目前通过以下两种的方式提供配置(在 track 被调用的时候回填)。


不再支持全自动获取,为确保 page_title 获取,需要开发配合完成如下配置之一。


开启 pageProxy 或者使用 sdk.page 的情况下,页面显示事件 page_title 的回填是在 onShow 方法中执行,异步动态配置 title 可能导致获取失败。


// 某个页面中
Page({

    // [Method_1] 挂载在 page.data 上,SDK会优先读取该属性
    data: {
        title: string, // 只支持字符串类型
    }

    // [Method_2] 挂载在 page.option,如果是动态变化的title,可以设置一个函数返回title
    title: string | () => string

    // ...
})

# 关于 chan_idchan_wxapp_scenechan_refer_app_id 采集说明

  • 该类属性会在 app.onLuanch - option 中收集,开发不需要自己回填这些属性。
  • 关于独立包,该部分的数据采集会延后到主包加载以后。