埋点岂无痕?Hi头像Taro版接入腾讯有数SDK

2,850 阅读5分钟

第一部分简介

Taro 简介

Taro 是一套遵循 React 语法规范的 多端开发 解决方案。

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动/QQ 小程序、快应用、H5、React-Native 等)运行的代码。

腾讯有数简介

腾讯有数是由腾讯智慧零售推出,为品牌商、零售商打造的数据分析与管理平台,融合腾讯数据、技术与生态优势,提供全链路经营数据分析、消费者洞察、精准营销等能力,让企业经营更“有数”。

图片

Hi 头像简介

基于人脸识别,一键生成符合节日气息的头像。例如在圣诞节、春节等,生成圣诞帽头像、新年头像等。

图片

第二部分接入

新建小程序

需要升级 Taro 到 2.x 或 3.x

  • taro init myApp 初始化项目
  • 选择 default-youshu 模板
  • 运行 npm run dev:weapp 启动小程序编译

微信小程序开发者工具控制台即可看到 8 大行为日志上报 访问 docs.qq.com/form/fill/D… 申请有数数据查看权限

通过上述流程已经让你的微信小程序拥有了 8 大用户行为埋点的体验能力,体验完成后,只需要更换有数的 Token 和微信小程序 appid,即可拥有有数的正式版功能。正式账号获取路径:docs.qq.com/form/fill/D…

Hi 头像接入的方案(已有小程序)

接入文档 mp.zhls.qq.com/youshu-docs…

1、通过 npm 安装 SDK

npm i sr-sdk-wxapp

在 app.jsx 中通过 import 引入 SDK

import sr from 'sr-sdk-wxapp'

2、添加可信域名

登录信公众平台,进入<开发><开发设置><服务器域名>,将 https://zhls.qq.com   添加为 request 合法域名。

在开发环境中还有 SDK 版本检查,所以会提示  sr-home-1257214331.cos.ap-guangzhou.myqcloud.com 不在以下 request 合法域名列表中  , 可以通过设置不校验域名来处理。

3、taro/app.js 中初始化 SDK

sr.init({
  /**
   * 有数 - ka‘接入测试用’ 分配的 app_id,对应的业务接口人负责
   */
  token: 'biccaffbxxx',
  /**
   * 微信小程序appID,以wx开头
   */
  appid: 'wxd5e8xxxx',
  /**
   * 如果使用了小程序插件,需要设置为 true
   */
  usePlugin: false,
  /**
   * 开启打印调试信息, 默认 false
   */
  debug: true,
  /**
   * 建议开启-开启自动代理 Page, 默认 false
   * SDK 负责上报页面的 browse 、leave、share 等事件
   * 可以使用 sr.page 代替 Page(sr.page(options))
   * 元素事件跟踪,需要配合 autoTrack: true
   */
  proxyPage: true,
  /**
   * 建议开启-开启组件自动代理, 默认 false
   * SDK 负责上报页面的 browse 、leave、share 等事件
   */
  proxyComponent: true,
  // 建议开启-是否开启页面分享链路自动跟踪
  openSdkShareDepth: true,
  // 建议开启-元素事件跟踪,自动上报元素事件,tap、change、longpress、confirm
  autoTrack: true,
})

登录信息传入

才会有openId的信息传入

原生小程序代理 sr 实例

// app.js
// SDK需要先通过init初始化才能正常使用
let sr = require('sr-sdk-wxapp').init({
    appid: 'wx9d********', // 微信小程序 appid,以 wx 开头
    token: 'bi72f*******', // token是有数 appid,以 bi 开头,值为 https://srdata.tencent.com/ 中的密钥管理_APP ID
})
App({
    sr, // 挂载到App实例上
})
// otherjs
let app = getApp()
app.sr.track('login_wxapp',
{
    "page": "pages/tabBar/index/index",
    "page_title": "首页",
    "time": "1560409473714",
    "wx_user": {
      "app_id": "",
      "open_id": "",
      "user_id": "",
      "union_id": "",
      "local_id": "",
    }
    // more...
})

Taro 代理 sr 实例

// app.js
import sr from 'sr-sdk-wxapp'
// 将 SDK 实例挂在到Taro对象上,便于全局使用
Taro.srSdk = sr.init({
    appid: 'wx9d********', // 微信小程序 appid,以 wx 开头
    token: 'bi72f*******', // token是有数 appid,以 bi 开头,值为 https://srdata.tencent.com/ 中的密钥管理_APP ID
})
// store/user.js
setLoginInfo(state, payload) {
  const { userInfo = {} } = payload
  if (Taro.srSdk) {
    const { wxOpenId, userId } = userInfo
    // 设置登录后的信息
    Taro.srSdk.setUser({
      open_id: wxOpenId,
      user_id: userId,
    })

    // 触发登录后打点
    Taro.srSdk.track('login_wxapp')
  }
}

第三部分,事件研究

Taro page onShow 的实现原理

/**
 * 建议开启-开启自动代理 Page, 默认 false
 * SDK 负责上报页面的 browse 、leave、share 等事件
 * 可以使用 sr.page 代替 Page(sr.page(options))
 * 元素事件跟踪,需要配合 autoTrack: true
 */
proxyPage: true,

是否开启自动代理 Page,默认是:false。SDK 负责上报页面的 browse 、leave、share 等事件可以使用 sr.page 代替 Page(sr.page(options))

允许自动监听 onclick、onchange 等四大事件

有数 SDK 事件类型

大分类

  • 流量运营
  • 商品运营
  • 活动运营
  • 销售归因
  • 搜索运营
  • 客服咨询
  • 渠道上报

Hi 头像关注的还是基础的流量运营模块,包含了:

  • 小程序启动
  • 小程序显示
  • 小程序隐藏
  • 页面浏览
  • 页面离开
  • 页面下拉刷新
  • 页面上拉触底
  • 页面分享
  • 元素事件
  • 用户注册
  • 用户登录

其中,我这边观察了有以下特点的几个:

离开页面、离开 app,“leave_wxapp_page”和“exit_wxapp”

若取消,则会触发“app_show”和“browse_wxapp_page”

事件点击,会自动触发

sr.track('element', {
    "type": "change",
    "element_id": "secKillPage-banner1_1",
    "index": "1",
    "name": "秒杀页面-轮播1_1",
    "page": "pages/product?sku_id=AOdjf7u",
    // more...
})

第四部分 更多期待

hi 头像基于云开发,有 2 套开发环境,有数也提供了两套 token,这一点是很给力的。

智慧零售与电商支付场景

智慧零售更多关注的还是电商门户商店运营的信息,为品牌商、零售商打造的数据分析与管理平台,融合腾讯数据、技术与生态优势,提供全链路经营数据分析、消费者洞察、精准营销等能力,让企业经营更“有数”。

而 Hi 头像还需要加入更多支付场景才能完成智慧零售的所有场景的试用,比如引入云开发的微信支付。

业务版本细节

有数 SDK 已经提供了手机系统版本、微信版本,有数 SDK 版本,但我还期望有的是小程序基础库版本,小程序业务版本,即每次小程序功能开发的版本。

自定义事件

有数 SDK 的事件都是事先规定好的,比如 add_cart ,但我还需要的是自定义事件,比如选择头像图片时,我想区分微信头像、相机、相册。


扫描二维码关注我