acBugtags

立即使用

概述

封装了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及更高版本