腾讯Bugly异常监控集成
来源:互联网 发布:java 获取月份第一天 编辑:程序博客网 时间:2024/05/17 06:48
腾讯Bugly异常监控集成
本文对bugly的集成及使用做简单的整理及说明
集成Bugly SDK
在Module的build.gradle文件中添加依赖和属性配置:
dependencies { compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如2.1.5}
在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_LOGS" />
避免混淆Bugly,在Proguard混淆文件中增加一行配置:
-dontwarn com.tencent.bugly.**-keep public class com.tencent.bugly.**{*;}
配置符号表
在项目的buid.gradle文件的dependencies(buildscript部分)中添加:
classpath ‘com.tencent.bugly:symtabfileuploader:1.3.9’
其中1.3.9为插件版本号
在module的buid.gradle文件的顶部添加:
apply plugin: 'bugly' bugly { appId = '<App ID>' appKey = '<App Key>' }
除了appId和appKey之外,还可以设置其他属性,属性列表如下:
属性 值 说明
appId String App ID
appKey String App Key
execute boolean 插件开关
upload boolean 上传开关
outputDir String 符号表文件输出路径
/build.gradle文件如下:
buildscript { repositories { jcenter() } dependencies { ... classpath 'com.tencent.bugly:symtabfileuploader:1.3.9' } }}
其中”1.3.9”为Bugly插件版本号,更新插件只需要修改这个版本号并Rebuild一下工程即可。
//build.gradle文件如下:
apply plugin: 'bugly' ... bugly { appId = '900000000' appKey = 'abcdefghijklmn' }
项目应用了Bugly插件之后,Gradle会新建出一个“uploadReleaseSymtabFile”的任务,该任 务被“assembleRelease”任务依赖,即在Release编译时执行。
最简单的初始化
获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:
CrashReport.initCrashReport(getApplicationContext(), “注册时申请的APPID”, false);
为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。
第三个参数为SDK调试模式开关,调试模式的行为特性如下:
● 输出详细的Bugly SDK的Log;
● 每一条Crash都会被立即上报;
● 自定义日志将会在Logcat中输出。
建议在测试阶段建议设置成true,发布时设置为false。
现在可以制造一个Crash,来体验Bugly的能力了。在初始化Bugly的之后,调用Bugly测Java Crash接口。
CrashReport.testJavaCrash();
一些常用配置
设置用户ID
bugly提供了用户ID记录接口,能精确定位到某个用户的异常。 例:网游用户登录后,通过该接口记录用户ID,在页面上可以精确定位到每个用户发生Crash的情况。
CrashReport.setUserId(“9527”); //本次启动后的异常日志用户ID都将是9527
自定义日志功能
提供了自定义Log的接口,用于记录一些开发者关心的调试日志,可以更全面地反应App异常时的前后文环境。使用方式与android.util.Log一致。用户传入TAG和日志内容。该日志将在Logcat输出,并在发生异常时上报。有如下接口:
BuglyLog.v(tag, log)
BuglyLog.d(tag, log)
BuglyLog.i(tag, log)
BuglyLog.w(tag, log)
BuglyLog.e(tag, log)
注意:
1)使用BuglyLog接口时,为了减少磁盘IO次数,我们会先将日志缓存在内存中。当缓存大于一定阈值(默认10K),会将它持久化至文件。您可以通过setCache(int byteSize)接口设置缓存大小,范围为0-30K。例:
BuglyLog.setCache(12 * 1024) //将Cache设置为12K
2)如果没有使用BuglyLog接口,且初始化Bugly时isDebug参数设置为false,该Log功能将不会有新的资源占用;
3)为了方便开发者调试,当初始化Bugly的isDebug参数为true时,异常日志同时还会记录Bugly本身的日志。请在App发布时将其设置为false;
4)上报Log最大30K;
设置标签
自定义标签,用于标明App的某个“场景”。在发生Crash时会显示该Crash所在的“场景”,以最后设置的标签为准,标签id需大于0。例:当用户进入界面A时,打上9527的标签:
CrashReport.setUserSceneTag(context, 9527); // 上报后的Crash会显示该标签
注意:打标签之前,需要在Bugly产品页配置中添加标签,取得标签ID后在代码中上报。
设置自定义Map参数
自定义Map参数可以保存发生Crash时的一些自定义的环境信息。在发生Crash时会随着异常信息一起上报并在页面展示。
CrashReport.putUserData(context, “userkey”, “uservalue”);
注意:最多可以有9对自定义的key-value(超过则添加失败),key限长50字节、value限长200字节,过长截断。
上传错误信息
CrashReport.postCatchedException(new Exception(“..”));
- 腾讯Bugly异常监控集成
- 集成腾讯Bugly异常监测平台
- 腾讯Bugly快速集成
- Android Bug异常收集第三方腾讯Bugly集成
- 腾讯bugly捕获异常
- 腾讯Bugly的简单集成
- Crash监控神器之腾讯Bugly
- 三、腾讯统计和bugly追踪集成
- 腾讯Bugly热更新集成总结
- 腾讯Bugly热更新的集成实现
- 腾讯Bugly热更新集成以及问题
- 腾讯bugly热修复集成工程
- Android--腾讯Bugly集成文档(吐槽版)
- android studio 快速集成腾讯bugly
- Android集成腾讯Bugly和简单使用
- 腾讯云SDK 与 腾讯Bugly集成冲突记录
- 腾讯bugly
- 腾讯bugly
- 基于按钮点击事件的弹窗
- Vue.js学习 Item14 – 过滤器与自定义过滤器
- 谈谈jquery的事件名称和命名空间
- Hibernate-----@DynamicInsert、@DynamicUpdate
- java初学之switch语句
- 腾讯Bugly异常监控集成
- tarjan缩点模板 poj 2186
- POJ-3356-AGTC
- 团体程序设计天梯赛-练习集 L1
- Vue.js学习 Item15 – 构建大型web应用
- 一个网站的成长
- 结构体对齐详解——转自“酱油和醋”
- POJ1201
- 《C++程序设计原理及实践》- 错误