acBugtags
setInvocationEvent currentInvocationEvent log setTrackingCrashes setTrackingUserSteps setTrackingConsoleLog setTrackingUserLocation setTrackingNetwork setUserData removeUserDataForKey removeAllUserData sendException sendFeedback addUserStep setUploadDataOnlyViaWiFi invoke remoteConfig sync addtListener
概述
封装了Bugtags SDK,Bugtags是全新的bug管理系统,提供便捷的bug测试流程,让你更有效的解决Android崩溃,iOS崩溃,成为你高效的测试工具;
使用此模块之前必须先配置 config 文件,配置方法如下:
- 名称:acBugtags
- 参数:iOSKey、androidKey、invocationEvent、trackingCrashes、trackingUserSteps、trackingConsoleLog、trackingUserLocation、trackingNetwork、trackingNetworkURLFilter、trackingNetworkContinueWithInvalidCertificate、crashWithScreenshot、ignoreSignalCrash、ignorePIPESignalCrash、enableUserSignIn、version、build、channel、remoteConfigDataMode、BTGUserStepLogCapacityKey、BTGConsoleLogCapacityKey、BTGBugtagsLogCapacityKey、BTGNetworkLogCapacityKey
- 配置示例:
<feature name="acBugtags">
<param name="iOSKey" value="" />
<param name="androidKey" value="" />
<param name="invocationEvent" value="0" />
<param name="trackingCrashes" value="true" />
<param name="trackingAnr" value="true" />
<param name="trackingUserSteps" value="true" />
<param name="trackingConsoleLog" value="true" />
<param name="trackingUserLocation" value="true" />
<param name="trackingNetwork" value="false" />
<param name="trackingNetworkURLFilter" value="" />
<param name="trackingNetworkContinueWithInvalidCertificate" value="false" />
<param name="crashWithScreenshot" value="false" />
<param name="ignoreSignalCrash" value="false" />
<param name="ignorePIPESignalCrash" value="false" />
<param name="enableUserSignIn" value="true" />
<param name="version" value="" />
<param name="build" value="" />
<param name="channel" value="" />
<param name="remoteConfigDataMode" value="0" />
<param name="BTGUserStepLogCapacityKey" value="500" />
<param name="BTGConsoleLogCapacityKey" value="500" />
<param name="BTGBugtagsLogCapacityKey" value="500" />
<param name="BTGNetworkLogCapacityKey" value="20" />
</feature>
字段描述:
iOSKey:iOS平台的应用appKey,通过Bugtags管理后台申请。
androidKey:Android平台的应用appKey,通过Bugtags管理后台申请。
invocationEvent:呼出方式,所有方式都会自动收集 Crash 信息(如果允许),0:静默模式,只收集 Crash 信息(如果允许),1:通过摇一摇呼出 Bugtags,2:通过悬浮小球呼出 Bugtags,默认2。
trackingCrashes:(可选项)是否跟踪闪退,默认true。
trackingAnr:(可选项)是否跟踪Anr,默认false。(仅android支持)
trackingUserSteps:(可选项)是否跟踪用户操作步骤,默认true。
trackingConsoleLog:(可选项)是否收集控制台日志,默认true。
trackingUserLocation:(可选项)是否收集用户位置信息,默认true。
trackingNetwork:(可选项)是否跟踪网络请求,只跟踪 HTTP / HTTPS 请求,强烈建议同时设置 trackingNetworkURLFilter 对需要跟踪的网络请求进行过滤,默认false。(仅ios支持)
trackingNetworkURLFilter:(可选项)设置需要跟踪的网络请求 URL,多个地址用 | 隔开,支持正则表达式,不设置则跟踪所有请求,强烈建议设置为应用服务器接口的域名,如果接口是通过 IP 地址访问,则设置为 IP 地址,如:设置为 bugtags.com,则网络请求跟踪只对 URL 中包含 bugtags.com 的请求有效。
trackingNetworkContinueWithInvalidCertificate:(可选项)网络请求跟踪遇到 HTTPS 请求证书无效的时候,是否允许继续访问,默认false。(仅ios支持)
crashWithScreenshot:(可选项)是否收集闪退时的界面截图,默认false。
ignoreSignalCrash:(可选项) 是否忽略所有的 Signal 闪退,默认false。
ignorePIPESignalCrash:(可选项)是否忽略 PIPE Signal (SIGPIPE) 闪退,默认false。(仅ios支持)
enableUserSignIn:(可选项)是否开启用户登录,默认true。
version:(可选项)设置应用版本号,默认自动获取应用的版本号
build:(可选项)设置应用 build,默认自动获取应用的 build(仅ios支持)
channel:(可选项)设置应用的渠道名称
remoteConfigDataMode:(可选项)设置远程配置的数据获取模式;0:获取生产环境的数据,1:获取测试环境的数据2:获取本地的数据文件,远程配置,自动读取本地 mainBundle 的 main.local.plist 文件,默认0
BTGUserStepLogCapacityKey:(可选项)设置收集最近的用户操作步骤数量,默认 500 项
BTGConsoleLogCapacityKey:(可选项)设置收集最近的控制台日志数量,默认 500 项
BTGBugtagsLogCapacityKey:(可选项)设置收集最近的 Bugtags 自定义日志数量,默认 500 项
BTGNetworkLogCapacityKey:(可选项)设置记录最近的网络请求数量,默认 20 项
模块接口
setInvocationEvent
设置 Bugtags 呼出方式
setInvocationEvent({params})
params
invocationEvent:
- 类型:数字类型
- 描述:(可选项)呼出方式
- 内部字段:0/静默模式,只收集 Crash 信息(如果允许),1/通过摇一摇呼出 Bugtags,2/通过悬浮小球呼出 Bugtags
- 默认:2
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setInvocationEvent({
invocationEvent:1
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
currentInvocationEvent
获取 Bugtags 当前的呼出方式
currentInvocationEvent(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
invocationEvent:'', //数字类型;呼出方式
//取值如下:
//0:静默模式,只收集 Crash 信息(如果允许)
//1:通过摇一摇呼出 Bugtags
//2:通过悬浮小球呼出 Bugtags
}
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.currentInvocationEvent(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
log
添加自定义日志
log({params})
params
content:
- 类型:字符串类型
- 描述:自定义日志
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.log({
content:''
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTrackingCrashes
设置是否收集 Crash 信息
setTrackingCrashes({params})
params
trackingCrashes:
- 类型:布尔类型
- 描述:是否收集 Crash 信息
- 默认:true
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingCrashes({
trackingCrashes:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTrackingUserSteps
设置是否跟踪用户操作步骤
setTrackingUserSteps({params})
params
trackingUserSteps:
- 类型:布尔类型
- 描述:是否跟踪用户操作步骤
- 默认:true
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingUserSteps({
trackingUserSteps:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTrackingConsoleLog
设置是否收集控制台日志
setTrackingConsoleLog({params})
params
trackingConsoleLog:
- 类型:布尔类型
- 描述:是否收集控制台日志
- 默认:true
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingConsoleLog({
trackingConsoleLog:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTrackingUserLocation
设置是否收集用户位置信息
setTrackingUserLocation({params})
params
trackingUserLocation:
- 类型:布尔类型
- 描述:是否收集用户位置信息(仅ios支持)
- 默认:true
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingUserLocation({
trackingUserLocation:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setTrackingNetwork
设置是否跟踪网络请求,只跟踪 HTTP / HTTPS 请求,强烈建议同时设置 trackingNetworkURLFilter 对需要跟踪的网络请求进行过滤(仅ios支持)
setTrackingNetwork({params})
params
trackingNetwork:
- 类型:布尔类型
- 描述:是否跟踪网络请求
- 默认:false
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingNetwork({
trackingNetwork:true
});
可用性
iOS系统
可提供的1.0.0及更高版本
setUserData
设置自定义数据,会与问题一起提交
setUserData({params})
params
key:
- 类型:字符串类型
- 描述:key
data:
- 类型:字符串类型
- 描述:用户数据
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setUserData({
key:'',
data:''
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
removeUserDataForKey
移除指定 key 的自定义数据
removeUserDataForKey({params})
params
key:
- 类型:字符串类型
- 描述:key
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.removeUserDataForKey({
key:''
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
removeAllUserData
移除所有自定义数据
removeAllUserData()
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.removeAllUserData();
可用性
iOS、Android系统
可提供的1.0.0及更高版本
sendException
手动发送Exception
sendException({params})
params
name:
- 类型:字符类型
- 描述:异常名字(仅ios支持)
reason:
- 类型:字符类型
- 描述:异常原因
userInfo:
- 类型:json对象类型
- 描述:(可选项)异常信息(仅ios支持)
- 示例:
{
version:'1.0',
id:'0'
}
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.sendException({
name:'',
reason:'',
userInfo:{
version:'1.0',
id:'0'
}
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
sendFeedback
发送用户反馈
sendFeedback({params})
params
content:
- 类型:字符类型
- 描述:反馈内容
image:
- 类型:字符类型
- 描述:(可选项)附图的本地路径,支持fs、widget
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.sendFeedback({
name:'',
image:''
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
addUserStep
添加自定义用户步骤
addUserStep({params})
params
content:
- 类型:字符类型
- 描述:步骤内容
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.addUserStep({
content:''
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
setUploadDataOnlyViaWiFi
设置是否仅在 WiFi 模式下才上传数据
setUploadDataOnlyViaWiFi({params})
params
onlyViaWiFi:
- 类型:布尔类型
- 描述:是否仅在 WiFi 模式下才上传数据
- 默认:false
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.setUploadDataOnlyViaWiFi({
onlyViaWiFi:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
invoke
手动调用截屏界面
invoke()
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.invoke();
可用性
iOS、Android系统
可提供的1.0.0及更高版本
remoteConfig
获取远程配置
remoteConfig({params},callback(ret))
params
key:
- 类型:字符串类型
- 描述:指定的 key
type
- 类型:数字类型
- 描述:(可选项)获取内容的类型;0:字符串,1:布尔,2:数字
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
stringForKey:'', //字符串类型;指定的字符串,type == 0返回
boolForKey:true, //布尔类型;指定的 Bool 值,没有指定的 key,则返回 NO,type == 1返回
integerForKey:0, //数字类型;指定的整型值,没有指定的 key,则返回 0,type == 2返回
}
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.remoteConfig({
key:''
},function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
sync
手动同步远程配置
sync({params})
params
force:
- 类型:布尔类型
- 描述:是否清除本地缓存后重新拉取数据
- 默认:false
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.sync({
force:true
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
addtListener
添加监听
addtListener()
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
eventType: 'beforeSending', //字符串类型;监听的事件类型,取值范围如下:
//beforeSending:手动提交问题或自动捕捉到崩溃,在保存相关数据之前会回调此字段
//afterSending:手动提交问题或自动捕捉到崩溃,在相关数据成功提交到 Bugtags 云端后回调此字段
}
示例代码
var acBugtags = api.require('acBugtags');
acBugtags.addtListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本