Weex API说明
一、启动配置接口
<#Config地址#> 与 <#AppID#> 请于平台上获取,获取方式参见《如何查询AppID和Config地址?》。如有问题请联系技术支持。
BonreeSDK启动接口
function start();
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| appID | String | 博睿SDK平台生成的应用唯一ID |
| Vue | Object | 当前环境的Vue实例 |
-
示例
Bonree.start("<#AppID#>", Vue);
设置Config地址
私有云客户设置私有部署的config地址时使用。该接口需要在调用start前设置。
function setConfigAddress()
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| configAddress | String | config地址 | 字符串长度大于0,小于等于2083,否则接口调用失败 |
-
示例
Bonree.setConfigAddress("<#Config地址#>");
设置App版本
App版本默认在配置文件中获取真实版本号。如有主动配置需求,需要在调用start前调用以下接口设置版本信息。
function setAppVersion();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| appVersion | String | 需要设置的版本信息 | 字符串长度大于0,小于等于64,否则接口调用失败 |
-
示例
Bonree.setAppVersion("3.2.1");
设置下载渠道名称
如有主动配置需求,需要在调用start前调用以下接口设置渠道名称。
function setChannelID();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| channelID | String | 需要设置的渠道名称 | 符串长度大于0,小于等于256,否则接口调用失败 |
-
示例
Bonree.setChannelID("AppStore");
设置自定义的设备ID
设备ID(deviceID)默认由SDK生成并保存。如有主动配置需求,需要在调用start前调用以下接口设置设备ID。
function setDeviceID();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| deviceID | String | 需要设置的设备ID | 字符串长度大于0,小于等于256,且不包含特殊字符(仅支持字母数字下划线_连接符-),否则接口调用失败 |
-
示例
Bonree.setDeviceID("0123456789");
设置持续丢帧时间
设置判定卡顿时需要的持续丢帧时间。需要在调用start前调用以下接口设置。
function setDropFrameTime();
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| time | Int | 持续丢帧时间(s),0< dropFrameTime <=30,不设置默认5s |
-
示例
Bonree.setDropFrameTime(5);
自定义冷启动结束时间
如需自定义冷启动的结束时机,可以调用以下两个接口完成自定义功能。具体使用方式为:
- 调用自定义冷启动开关接口,开启自定冷启动功能。(该接口需在调用
start前设置) - 在需要的时机调用冷启动结束接口,记录冷启动结束。
// 标识使用自定义冷启动结束时间(需在调用 start 前设置)
function useCustomLaunch();
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| used | BOOL | 是否使用自定义冷启动结束时间 |
// 记录冷启动结束
function recordCustomLaunchEnd();
-
示例
// 需在调用start前设置
Bonree.useCustomLaunch(true);
// ...
// 在需求时机位置调用
Bonree.recordCustomLaunchEnd();
注意:开启自定义冷启动功能后,若30s内未调用记录冷启动结束接口,冷启动监控过程会强制结束。
设置SDK自身请求Header
调用本接口,可以给SDK自身发起的请求的请求头Header中添加信息。需要在调用start前调用以下接口设置。
function setSDKRequestHeaders();
- 接口说明
| 参数名 | 类型 | 注释 |
|---|---|---|
| headers | Object | 要设置的请求头键值对(最多设置64个,key长度限制256个字符,value长度限制512个字符) |
-
示例
Bonree.setSDKRequestHeaders(
{
"headerKey0":"headerValue0",
"headerKey1":"headerValue1"
}
);
二、数据获取接口
获取设备ID
默认情况下,设备的唯一ID由BonreeSDK内部生成并持久维护,用来标识产生各性能数据的设备。我们提供了获取该设备ID的接口,用以支持监控数据在设备维度的自主关联等需求场景。
function getDeviceID();
- 接口说明
| 返回值类型 | 注释 |
|---|---|
| String | SDK中生成的设备ID。如果事先设置了,则返回设置的值。 |
-
示例
var deviceID = Bonree.getDeviceID();
获取SDK版本
该接口返回原生端探针版本号,注意在Android和iOS返回的值可能不同。
function getSDKVersion();
- 接口说明
| 返回值类型 | 注释 |
|---|---|
| String | SDK的版本号 |
-
示例
var version = Bonree.getSDKVersion();
三、自定义功能接口
自定义用户信息
BonreeSDK支持设置与用户相关的信息,从而完成性能数据与实际用户相关联的需求场景。
设置用户信息有两种方式:
1. 设置用户ID,以字符串形式给用户做标识。接口如下:
function setUserID();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| userID | String | 用户ID | 字符串可为空或空串。 字符串小于等于256,且不包含特殊字符(仅支持字母数字下划线_连接符-),否则接口调用失败。 |
- 示例
Bonree.setUserID("user-id");
2. 以 Key-Value 形式设置用户附加信息。接口如下:
// 设置附加信息
function setExtraInfo();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| extraInfo | Object | 用户附加信息。 | Map可为空或空集合。 转JSON后长度在7000字符以内,否则接口调用失败。 |
-
示例
Bonree.setExtraInfo(
{
"id":"123456",
"name":"Tom"
}
);
自定义异常
调用接口并传入相应参数,可完成自定义异常数据的统计功能。
function setCustomException();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| exceptionType | String | 异常类型。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| causedBy | String | 异常原因 | 字符串可为空或空串。 字符串小于等于512,超长截取。 |
| errorDump | String | 异常堆栈 | 超出10000字符时会被切割 |
-
示例
Bonree.setCustomException("Custom exception type", "Caused by customer.", "Custom error dump 0\nCustom error dump 1");
自定义视图
调用接口并传入相应参数,可完成自定义视图数据统计功能。
// 自定义视图——标记视图开始(和视图结束方法成对调用)
function setCustomPageStart();
// 自定义视图——标记视图结束(和视图开始方法成对调用)
function setCustomPageEnd();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| pageName | String | 页面名称。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| pageAlias | String | 页面别名 | 字符串可为空或空串。 字符串小于等于256,超长截取。 |
-
示例
Bonree.setCustomPageStart("page01", "首页");
Bonree.setCustomPageEnd("page01", "首页");
注意:自定义视图的开始与结束记录接口必须成对调用,并且同一视图的pageName必须一致,才能正确统计一个完整自定义视图数据并上报。
自定义事件(完整版)
分别调用开始与结束接口并传入相应参数,可完成自定义事件数据与事件持续时间的统计功能。
// 自定义事件开始
function setCustomEventStart();
// 自定义事件结束
function setCustomEventEnd();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| eventID | String | 事件ID。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| eventName | String | 事件名称 | 字符串可为空或空串。 字符串小于等于256,超长截取。 |
| eventLabel | String | 事件标签 | 字符串可为空或空串。 字符串小于等于256,超长截取。 |
| param | String | 事件附加信息 | 字符串可为空或空串。 字符串小于等于7000,超长截取。 |
| info | Object | 事件业务信息 | 字典可为空。 转JSON后长度在7000字符以内,否则接口调用失败。 |
-
示例
Bonree.setCustomEventStart("001", "用户登录", "Login", "", {"text":"登录"});
// Some code...
Bonree.setCustomEventEnd("001", "用户登录", "Login", "", {"text":"登录"});
注意:自定义事件开始与结束的匹配使用eventID唯一匹配,使用时请确保未结束事件ID的唯一性。
自定义事件(精简版)
调用接口并传入相应参数,可完成自定义事件数据统计功能。
function setCustomEvent();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| eventID | String | 事件ID。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| eventName | String | 事件名称 | 字符串可为空或空串。 字符串小于等于256,超长截取。 |
| eventLabel | String | 事件标签 | 字符串可为空或空串。 字符串小于等于256,超长截取。 |
| param | String | 事件附加信息 | 字符串可为空或空串。 字符串小于等于7000,超长截取。 |
| info | Object | 事件业务信息 | 字典可为空。 转JSON后长度在7000字符以内,否则接口调用失败。 |
-
示例
Bonree.setCustomEvent("001", "用户登录", "Login", "", {"text":"登录"});
自定义日志
调用接口并传入相应参数,可完成自定义日志数据统计功能。
function setCustomLog();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| logInfo | String | 日志信息。必传参数,空或空串接口调用无效。 | 字符串长度大于0,否则接口调用失败。 字符串小于等于10000,超长截取。 |
| param | String | 附加信息(预留字段,暂无使用场景) | - |
-
示例
Bonree.setCustomLog("2020-01-01 08:30:00 Print log info.", "");
自定义指标
调用接口并传入相应参数,可完成自定义指标数据统计功能。
function setCustomMetric();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| metricName | String | 指标名称。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| metricValue | Int | 指标值。必传参数,指标为空接口调用无效。 | - |
| param | String | 附加信息(预留字段,暂无使用场景) | - |
-
示例
Bonree.setCustomMetric("测试指标01", 1, "");
自定义方法
调用接口并传入相应参数,可完成自定义方法数据统计功能。
// 自定义方法开始
function setCustomMethodStart();
// 自定义方法结束
function setCustomMethodEnd();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| methodName | String | 方法名称。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| param | String | 附加信息(预留字段,暂无使用场景) | - |
-
示例
Bonree.setCustomMethodStart("testCustomMethod", "");
// Do something...
Bonree.setCustomMethodEnd("testCustomMethod", "");
注意:自定义方法以方法名参数匹配同一方法的前后调用,使用时须保证执行期间方法名唯一。
设置自定义请求信息接口
调用接口并传入相应参数,可以给匹配到的网络数据关联自定义的字符串信息。
function setRequestExtraInfo();
- 接口说明
| 参数名 | 类型 | 注释 | 参数限制 |
|---|---|---|---|
| headerKey | String | 需要匹配的请求头Key。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| value | String | 需要匹配的请求头Value。必传参数,空或空串接口调用无效。 | 字符串长度大于0,小于等于256,否则接口调用失败。 |
| info | String | 关联的自定义信息。为空则清除对应键值缓存的信息。 | 字符串长度大于0,小于等于256,若为空则清除对应键值缓存的信息。 |
-
示例
Bonree.setRequestExtraInfo("brkey", "30F032AA-7837-479E-971D-E382B0F90D9B", "name=TOM&age=12");
使用本接口前,需要保证目标请求的请求头中有唯一标识,比如,某请求的请求头如下:
POST /upload HTTP/1.1
Host: sdkupload.bonree.com
Content-Type: application/json
Content-Length: 781
Connection: keep-alive
Br-Content-Encoding: gzip
brkey: 30F032AA-7837-479E-971D-E382B0F90D9B
其中brkey为该请求的唯一标识字段,若要给该请求关联信息
name=TOM&age=12
则需要在请求发出之前调用
Bonree.setRequestExtraInfo("brkey", "30F032AA-7837-479E-971D-E382B0F90D9B", "name=TOM&age=12");