Android SDK API

初始化 Bugtags

调用模式枚举

BTGInvocationEventNone    // 静默模式,只收集 Crash 信息(如果允许,默认为允许)

BTGInvocationEventShake   // 通过摇一摇呼出 Bugtags

BTGInvocationEventBubble  // 通过悬浮小球呼出 Bugtags

设置自定义选项初始化

BugtagsOptions options = new BugtagsOptions.Builder().
        trackingLocation(true).       //是否获取位置,默认 true
        trackingCrashLog(true).       //是否收集闪退,默认 true
        trackingConsoleLog(true).     //是否收集控制台日志,默认 true
        trackingUserSteps(true).      //是否跟踪用户操作步骤,默认 true
        crashWithScreenshot(true).    //收集闪退是否附带截图,默认 true
        versionName(BuildConfig.VERSION_NAME).         //自定义版本名称,默认 app versionName
        versionCode(BuildConfig.VERSION_CODE).              //自定义版本号,默认 app versionCode
        trackingNetworkURLFilter("(.*)").//自定义网络请求跟踪的 url 规则,默认 null
        enableUserSignIn(true).            //是否允许显示用户登录按钮,默认 true
        startAsync(false).    //设置 为 true 则 SDK 会在异步线程初始化,节省主线程时间,默认 false
        startCallback(null).            //初始化成功回调,默认 null
        remoteConfigDataMode(Bugtags.BTGDataModeProduction).//设置远程配置数据模式,默认Bugtags.BTGDataModeProduction 参见[文档](https://docs.bugtags.com/zh/remoteconfig/android/index.html)
        remoteConfigCallback(null).//设置远程配置的回调函数,详见[文档](https://docs.bugtags.com/zh/remoteconfig/android/index.html)
        enableCapturePlus(false).        //是否开启手动截屏监控,默认 false,参见[文档](https://docs.bugtags.com/zh/faq/android/capture-plus.html)
        extraOptions(key,value).                //设置 log 记录的行数,详见下文
        build();
Bugtags.start("APP_KEY", this, Bugtags.BTGInvocationEventBubble, options);

设置 log 记录的行数

extraOptions(Bugtags.BTGConsoleLogCapacityKey, 500).//设置控制台日志行数的控制 value > 0,默认500
extraOptions(Bugtags.BTGBugtagsLogCapacityKey, 1000).//控制 Bugtags log 行数的控制 value > 0,默认1000
extraOptions(Bugtags.BTGUserStepLogCapacityKey, 1000).//控制用户操作步骤行数的控制 value > 0,默认1000
extraOptions(Bugtags.BTGNetworkLogCapacityKey, 20).//控制网络请求数据行数的控制 value > 0,默认20

网络请求跟踪 URL 规则

设置需要跟踪的网络请求 URL 的正则表达式,例如:

String trackingNetworkURLFilter = "(.*)baidu.com(.*)|(.*)bugtags.com(.*)";
String url = "http://baidu.com";
url.matches(trackingNetworkURLFilter) == true

测试为真,则会进行跟踪。

通过默认选项初始化

Bugtags.start("APP_KEY", this, Bugtags.BTGInvocationEventBubble);

手动调用截屏界面

可在运行期任意阶段,调用此 API 进行截屏;主要用于需要自定义截屏触发机制的情况。

Bugtags.invoke();

自定义用户步骤

可以在运行中,添加自定义的用户步骤记录信息

Bugtags.addUserStep("custom step description");

记录按键操作步骤

将此方法调用放在你的 activity 基类中

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        Bugtags.onDispatchKeyEvent(this, event);
        return super.dispatchKeyEvent(event);
    }

发送文字反馈信息

可用于实现用户反馈功能,详情请参阅文档

Bugtags.sendFeedback("user-feedback");

手动发送 Exception

可以把捕获到的 Exception 传到 Bugtags 后台。

Bugtags.sendException(throwable)

Bugtags 日志

可用于记录日志,详情请参阅文档

Bugtags.log("your-log")

设置 key value 数据

可设置一些用于调试的 key value 数据,随着问题一起上报到 bugtags 云平台,详情请参阅文档

Bugtags.setUserData("key", "value");

还有对应的 remove 一个 key 和 remove 所有 key 的操作:

Bugtags.removeUserData("key");
Bugtags.removeAllUserData();

设置 Bugtags 所处的呼出模式

可用于运行时改变 Bugtags 所处呼出模式。

Bugtags.setInvocationEvent(event);

获取 Bugtags 所处的呼出模式

Bugtags.currentInvocationEvent();

设置问题提交之前的回调

Bugtags.setBeforeSendingCallback(cb);

设置问题提交成功后的回调

Bugtags.setAfterSendingCallback(cb);
评论