API功能

一、启动配置接口

BonreeSDK启动接口

启动小程序SDK需要调用start函数,并在参数对象中设置Config地址与AppID。

function start({
    configAddress: "",
    appId: ""
})
  • 接口说明
参数名 类型 注释
configAddress String Config地址
appId String 博睿SDK平台生成的应用唯一ID
  • 示例

      const BonreeSDK = require('./BonreeSDK_MP.min.js')
    
      const BRSAgent = BonreeSDK.start({
          configAddress: "https://demtest.bonree.com/800config",
          appId: "db012cbf-a6d3-46a5-89ad-3e0edebbba06"
      })
    

设置小程序版本

小程序版本默认获取真实版本号。如有主动配置需求,需要启动接口参数中设置verson字段即可。

  • 接口说明
参数名 类型 注释 参数限制
version String 需要设置的版本信息 最大长度不超过64
  • 示例

      const BRSAgent = BonreeSDK.start({
          configAddress: "https://demtest.bonree.com/800config",
          appId: "db012cbf-a6d3-46a5-89ad-3e0edebbba06",
          version: "1.0.0"
      })
    

小程序默认的版本号在微信小程序开发者后台中发布时设置,debug环境下获取不到,建议根据真实版本情况设置,保证数据的完整性。

设置渠道

小程序SDK支持渠道信息设置,在启动接口参数中设置channelId字段即可。

  • 接口说明
参数名 类型 注释 参数限制
channelId String 需要设置的渠道名称 最大长度不超过256
  • 示例

      const BRSAgent = BonreeSDK.start({
          configAddress: "https://demtest.bonree.com/800config",
          appId: "db012cbf-a6d3-46a5-89ad-3e0edebbba06",
          channelId: "channel001"
      })
    

设置自定义的设备ID

设备ID(deviceID)默认由SDK生成并在local storage中保存。如有主动配置需求,在启动接口参数中设置deviceId字段即可。

  • 接口说明
参数名 类型 注释 参数限制
deviceId String 需要设置的设备ID 最大长度不超过256
  • 示例

      const BRSAgent = BonreeSDK.start({
          configAddress: "https://demtest.bonree.com/800config",
          appId: "db012cbf-a6d3-46a5-89ad-3e0edebbba06",
          deviceId: "0123456789"
      })
    

设置网络请求超时

网络请求超时(timeout)用于配置config请求和upload请求的超时时间,若未配置,则默认60000ms超时。

  • 接口说明
参数名 类型 注释
timeout number 请求超时时间(ms)
  • 示例

    const BRSAgent = BonreeSDK.start({
        configAddress: "https://demtest.bonree.com/800config",
        appId: "db012cbf-a6d3-46a5-89ad-3e0edebbba06",
        timeout: 10000
    })
    

二、自定义功能接口

一般自定义接口的调用位置不在小程序的入口文件App.js中,因此需要在调用接口的文件开头引入SDK实例化对象:

const BRSAgent = require("../../app")

通常情况下在代码中直接键入实例化对象后,微信开发者工具会自动补全对象的引用。

自定义用户信息

BonreeSDK支持设置与用户相关的信息,从而完成性能数据与实际用户相关联的需求场景。

设置用户信息有两种方式:

1. 设置用户ID,以字符串形式给用户做标识。接口如下:

/// 设置用户ID
function setUserId(userId)
  • 接口说明
参数名 类型 注释 参数限制
userId String 用户ID 字符串可为空或空串。
字符串小于等于256,且不包含特殊字符(仅支持字母数字下划线_连接符-),否则接口调用失败。
  • 示例

      BRSAgent.setUserId("1234")
    

2. 以对象形式设置用户附加信息。接口如下:

/// 设置附加信息
function setExtraInfo(extraInfo)
  • 接口说明
参数名 类型 注释 参数限制
extraInfo Object 用户附加信息。 Map可为空或空集合。
转JSON后长度在7000字符以内,否则接口调用失败。
  • 示例

      BRSAgent.setExtraInfo({
          key0: "value0",
          key1: "value1"
      })
    

自定义视图

调用接口并传入相应参数,可完成自定义视图数据统计功能。

/// 自定义视图——标记视图开始(和视图结束方法成对调用)
function customPageStart(name, alias)
/// 自定义视图——标记视图结束(和视图开始方法成对调用)
function customPageEnd(name, alias)
  • 接口说明
参数名 类型 注释 参数限制
name String 视图名称。必传参数,空或空串接口调用无效。 字符串长度大于0,小于等于256,否则接口调用失败。
alias String 视图别名。可选参数。 字符串可为空或空串。
字符串小于等于256,超长截取。
  • 示例

      BRSAgent.customPageStart("page01", "首页")
    
      BRSAgent.customPageEnd("page01", "首页")
    

注意:自定义视图的开始与结束记录接口必须成对调用,并且同一视图的name必须一致,才能正确统计一个完整自定义视图数据并上报。

自定义事件(完整版)

分别调用开始与结束接口并传入相应参数,可完成自定义事件数据与事件持续时间的统计功能。

/// 自定义事件开始
function customEventStart(eventId, eventName, eventLabel, eventParam, info)
/// 自定义事件结束
function customEventEnd(eventId, eventName, eventLabel, eventParam,info)
  • 接口说明
参数名 类型 注释 参数限制
eventId String 事件ID。必传参数,空或空串接口调用无效。 字符串长度大于0,小于等于256
eventName String 事件名称,可选参数。 字符串可为空或空串。
字符串小于等于256,超长截取。
eventLabel String 事件标签,可选参数。 字符串可为空或空串
字符串小于等于256,超长截取。
eventParam String 附加信息(预留字段,暂无使用场景),可选参数。 字符串可为空或空串
字符串小于等于7000,超长截取。
info Object 事件详情,可选参数。 转JSON后长度在7000字符以内,否则接口调用失败。
  • 示例

      BRSAgent.customEventStart("001", "用户登录", "Login", "",{"key":"value"})
      // Some code...
      BRSAgent.customEventEnd("001", "用户登录", "Login", "",{"key":"value"})
    

注意:1.自定义事件开始与结束的匹配使用eventID唯一匹配,使用时请确保未结束事件ID的唯一性。2.info参数为object类型,对象中的key和value值需为string类型

自定义事件(精简版)

调用接口并传入相应参数,可完成自定义事件数据统计功能。

/// 自定义事件
function customEvent(eventId, eventName, eventLabel, eventParam, info)
  • 接口说明
参数名 类型 注释 参数限制
eventId String 事件ID。必传参数,空或空串接口调用无效。 字符串长度大于0,小于等于256,否则接口调用失败。
eventName String 事件名称,可选参数。 字符串可为空或空串。
字符串小于等于256,超长截取。
eventLabel String 事件标签,可选参数。 字符串可为空或空串
字符串小于等于256,超长截取。
eventParam String 附加信息(预留字段,暂无使用场景),可选参数。 字符串可为空或空串
字符串小于等于7000,超长截取。
info Object 事件详情,可选参数。 转JSON后长度在7000字符以内,否则接口调用失败。
  • 示例

      BRSAgent.customEvent("001", "用户登录", "Login", "",{"key":"value"})
    

注意:info参数为object类型,对象中的key和value值需为string类型

自定义日志

调用接口并传入相应参数,可完成自定义日志数据统计功能。

/// 自定义日志
function customLog(info, param)
  • 接口说明
参数名 类型 注释 参数限制
info String 日志信息。必传参数,空或空串接口调用无效。 字符串长度大于0,否则接口调用失败。
字符串小于等于10000,超长截取。
param String 附加信息(预留字段,暂无使用场景),可选参数。 字符串长度大于0,否则接口调用失败。
字符串小于等于10000,超长截取。
  • 示例

      BRSAgent.customLog("2020-01-01 08:30:00 Print log info.")
    

自定义指标

调用接口并传入相应参数,可完成自定义指标数据统计功能。

/// 自定义指标
function customMetric(metricName, metricValue, param)
  • 接口说明
参数名 类型 注释 参数限制
metricName String 指标名称。必传参数,空或空串接口调用无效。 字符串长度大于0,小于等于256,否则接口调用失败。
metricValue Number 指标值。必传参数,指标为空接口调用无效。 -
param String 附加信息(预留字段,暂无使用场景),可选参数。 字符串长度大于0,否则接口调用失败。
字符串小于等于10000,超长截取。
  • 示例

      BRSAgent.customMetric("测试指标01", 1)
    

自定义操作结束

调用该接口,结束根据调用栈匹配到的操作。该方法必须直接或间接地由操作相关的方法调用,否则调用无效。

function recordCustomActionEnd()
  • 使用场景

以登录场景为例

  1. 点击登录按钮,触发 onClickHandle 方法;
  2. onClickHandle 方法中,调用了 login方法和其他的一些方法;

如果我们只关注触发登录按钮到调用login方法结束时的耗时及函数调用关系等数据,不关注login方法后等其他方法执行的数据,那么我们可以在 login 方法后调用自定义操作结束接口。

  • 示例

    Page({
        ...
        onClickHandle:function(){
            ...
            login()
            BRSAgent.recordCustomActionEnd()
            ...
          // 其他方法或请求  
        },
        login:function(){
            ...
        }
        ...
    })
    

三、使用插件

使用小程序SDK的插件,需先解压获取到的BonreeSDK_TDEM_MP.zip文件,将对应的插件引入到项目中,并调用install方法注册插件。

数据加密插件

加密功能当前仅支持One平台。使用该功能前请务必先与技术支持或实施沟通获取加密Key,保证与平台配置一致,否则会导致SDK数据请求异常。

  • 解压获取到的BonreeSDK_TDEM_MP.zip文件,并将对应的borneeEncryptor.js在app.js中引入

    const BonreeSDK = require('./bonreeSDK_MP.min.js')
    const BorneeEncryptor = require('./borneeEncryptor.js')
    
  • 注册插件

    const BonreeSDK = require('./bonreeSDK_MP.min.js')
    const BorneeEncryptor = require('./borneeEncryptor.js')
    
    BonreeSDK.install(BorneeEncryptor,{key:string,identifier:string})
    
    const BRSAgent = BonreeSDK.start(...)
    

    注:BonreeSDK.install方法需在BonreeSDK.start方法前调用

  • 参数说明

参数名 类型 注释 参数限制
key String 加密秘钥,从平台获取 需为16字节字符串,请勿使用< > & ' " %特殊字符
identifier String 加密标识,从平台获取 字符串长度大于0且不超过256
不能包含中文及特殊字符
  • 示例

    const BonreeSDK = require('./bonreeSDK_MP.min.js')
    const BonreePlugin = require('./borneeEncryptor.js')
    
    BonreeSDK.install(BorneeEncryptor,{key:'qawsedrftgyhujik',identifier:'v20'})
    
    const BRSAgent = BonreeSDK.start(...)
    

results matching ""

    No results matching ""