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 文件,配置方法如下:
<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 项
设置 Bugtags 呼出方式
setInvocationEvent({params})
invocationEvent:
var acBugtags = api.require('acBugtags');
acBugtags.setInvocationEvent({
invocationEvent:1
});
iOS、Android系统
可提供的1.0.0及更高版本
获取 Bugtags 当前的呼出方式
currentInvocationEvent(callback(ret))
ret:
{
invocationEvent:'', //数字类型;呼出方式
//取值如下:
//0:静默模式,只收集 Crash 信息(如果允许)
//1:通过摇一摇呼出 Bugtags
//2:通过悬浮小球呼出 Bugtags
}
var acBugtags = api.require('acBugtags');
acBugtags.currentInvocationEvent(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统
可提供的1.0.0及更高版本
添加自定义日志
log({params})
content:
var acBugtags = api.require('acBugtags');
acBugtags.log({
content:''
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否收集 Crash 信息
setTrackingCrashes({params})
trackingCrashes:
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingCrashes({
trackingCrashes:true
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否跟踪用户操作步骤
setTrackingUserSteps({params})
trackingUserSteps:
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingUserSteps({
trackingUserSteps:true
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否收集控制台日志
setTrackingConsoleLog({params})
trackingConsoleLog:
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingConsoleLog({
trackingConsoleLog:true
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否收集用户位置信息
setTrackingUserLocation({params})
trackingUserLocation:
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingUserLocation({
trackingUserLocation:true
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否跟踪网络请求,只跟踪 HTTP / HTTPS 请求,强烈建议同时设置 trackingNetworkURLFilter 对需要跟踪的网络请求进行过滤(仅ios支持)
setTrackingNetwork({params})
trackingNetwork:
var acBugtags = api.require('acBugtags');
acBugtags.setTrackingNetwork({
trackingNetwork:true
});
iOS系统
可提供的1.0.0及更高版本
设置自定义数据,会与问题一起提交
setUserData({params})
key:
data:
var acBugtags = api.require('acBugtags');
acBugtags.setUserData({
key:'',
data:''
});
iOS、Android系统
可提供的1.0.0及更高版本
移除指定 key 的自定义数据
removeUserDataForKey({params})
key:
var acBugtags = api.require('acBugtags');
acBugtags.removeUserDataForKey({
key:''
});
iOS、Android系统
可提供的1.0.0及更高版本
移除所有自定义数据
removeAllUserData()
var acBugtags = api.require('acBugtags');
acBugtags.removeAllUserData();
iOS、Android系统
可提供的1.0.0及更高版本
手动发送Exception
sendException({params})
name:
reason:
userInfo:
{
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({params})
content:
image:
var acBugtags = api.require('acBugtags');
acBugtags.sendFeedback({
name:'',
image:''
});
iOS、Android系统
可提供的1.0.0及更高版本
添加自定义用户步骤
addUserStep({params})
content:
var acBugtags = api.require('acBugtags');
acBugtags.addUserStep({
content:''
});
iOS、Android系统
可提供的1.0.0及更高版本
设置是否仅在 WiFi 模式下才上传数据
setUploadDataOnlyViaWiFi({params})
onlyViaWiFi:
var acBugtags = api.require('acBugtags');
acBugtags.setUploadDataOnlyViaWiFi({
onlyViaWiFi:true
});
iOS、Android系统
可提供的1.0.0及更高版本
手动调用截屏界面
invoke()
var acBugtags = api.require('acBugtags');
acBugtags.invoke();
iOS、Android系统
可提供的1.0.0及更高版本
获取远程配置
remoteConfig({params},callback(ret))
key:
type
ret:
{
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){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统
可提供的1.0.0及更高版本
手动同步远程配置
sync({params})
force:
var acBugtags = api.require('acBugtags');
acBugtags.sync({
force:true
});
iOS、Android系统
可提供的1.0.0及更高版本
添加监听
addtListener()
ret:
{
eventType: 'beforeSending', //字符串类型;监听的事件类型,取值范围如下:
//beforeSending:手动提交问题或自动捕捉到崩溃,在保存相关数据之前会回调此字段
//afterSending:手动提交问题或自动捕捉到崩溃,在相关数据成功提交到 Bugtags 云端后回调此字段
}
var acBugtags = api.require('acBugtags');
acBugtags.addtListener(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS、Android系统
可提供的1.0.0及更高版本