快应用 SDK

优质
小牛编辑
128浏览
2023-12-01

1. 集成sdk

1.1 安装sdk

npm i zg-sdk-quickapp

1.2 引用sdk

在src目录下app.ux引入sdk文件

import zhuge from 'zg-sdk-quickapp'

zhuge.load('AppKey', {
  // load配置参数,具体见下方
})

export default trackApp({
  ...
})

1.3 增加代码检查规则

修改项目根目录下的.eslintrc.json中的globals字段,增加以下代码

"globals": {
  ...
  "trackApp": false,
  "trackPage": false,
  "zhuge": false
}

1.4 添加权限声明代码

"features": [
  ...
  {"name": "system.fetch"},
  {"name": "system.storage"},
  {"name": "system.router"},
  {"name": "system.network"},
  {"name": "system.device"}
]

1.5 使用sdk封装的trackPage替换所有页面

export default trackPage({
  ...
})

引入成功后,即可在全局任意地方,通过zhuge对象调用sdk函数,如:zhuge.track('登录')

2. API列表

2.1 load(appkey, config)

  • appkey \ 您在诸葛申请的APP KEY
  • config \ sdk配置信息。不需要自定义的参数可忽略 完整默认配置如下:
    {
    serverUrl: { // 事件上报地址。使用的上报地址
      normal: 'https://u.zhugeapi.net', // 主地址
      bac: 'https://ubak.zhugeio.com' // 备用地址
    },
    pv: true, // 全埋点,自动上报pv
    click: true, // 全埋点,自动上报click
    timeout: 30 * 60 * 1000, // 会话超时时间(默认30分钟),单位:毫秒
    vn: '1.0', // 应用版本(快应用项目本身的版本号)
    sendLimit: 1, // 请求最大缓存数
    debug: false, // 开启实时调试
    superProperty: {}, // 全局事件属性,设置后除会话、环境及identify事件外,所有事件都会自动加上该配置所有属性
    countDuration: 3000, // 计数行为统计时间周期,单位:毫秒。在这个时间范围内,同一事件反复上报时,sdk会将其计数并合并为一条记录
    did: '', // 自定义did
    requestTimeout: 400 // 请求超时事件,不会cancel请求,超时会执行回调
    }
    
    使用示例:
    zhuge.load('AppKey', {
      pv: true
    })
    

    当superProperty属性与上传事件时指定的属性冲突,则superProperty被覆盖

2.2 identify(cuid, props)

  • cuid \ 用户唯一标识
  • props \ 用户属性

为了保持对用户的跟踪,你需要为他们记录一个识别码,可以使用手机号、email等唯一值来作为用户的识别码。另外,也可以在跟踪用户的时候,记录用户更多的属性信息,便于你更了解你的用户
使用示例:

zhuge.identify('17711111111', {
  '性别': '男',
  '会员级别': '白金'
})

2.3 track(eventName, props)

  • eventName \ 事件名称
  • props \ 事件属性 使用示例:
    zhuge.track('加入购物车', {
    '商品名称': '华为P30',
    '商品分类': '3C'
    })
    

    注意:在添加事件属性时,需注意事件属性类型。如果事件属性类型为「数值型属性」,需要在上传数据时修改数据类型为「数值型」,并且在诸葛io后台埋点管理中修改为「数值型」。

2.4 trackCount

  • eventName \ 事件名称
  • props \ 事件属性
    zhuge.trackCount('like', {
    '商品名称': '华为P30',
    '商品分类': '3C'
    })
    

    trackCount是用来记录事件触发的次数,适用于频繁触发事件的场景比如视频直播点赞。

函数连续触发时会记录执行的次数,当函数停止执行会等待集成sdk设置的countDuration时间,超时后会上传事件和事件属性,通过trackCount函数上传的事件会附带两个自定义属性count和countTime,分别代表执行的次数和连续触发持续的时间。

注意 函数执行的过程中如果事件名称和事件属性发生变化trackCount函数会立刻上传上次的事件和属性,然后重新开始计数。

2.5 trackRevenue(props)

  • props \ 收入数据属性
    {
    price: 0, // <number>价格
    productID: null, // <string>商品id
    productQuantity: 0, // <number>商品数量
    revenueType: null // <string>收入类别
    }
    
    收入数据采集 使用示例:
    zhuge.trackRevenue({
    price: 2000,
    productID: 'product001',
    productQuantity: 2,
    revenueType: '3c'
    })
    
    price和productQuantity属性,只能为数值类型。