我们在开发APP过程中,都希望APP能稳定上线,给用户带来良好的使用体验,但是也常常会出现Crash的情况,这是很让人头疼的事情,而且Crash会带来很多意想不到的状态,bugly和友盟+U-APM都是检测APP发生Crash原因的工具,但经过对比,还是U-APM使用起来更加方便,U-APM具有云真机的优势,算是一站式的产品,不需要多次接入,后续功能接入成本极低。今天,我们来着重研究一下Crash,利用友盟+U-APM来捕捉这些Crash,让他无所遁形。

一、糟糕的Android Crash

作为开发人员,很容易就能碰到Crash,但是作为用户,我相信也有很大部分人碰到过Crash,这些原因,也正是Android的平台差异化和适配所导致的,而且,你要是安装一个软件就Crash,我想你会立马把他卸载掉。同时心理嘲笑了一下开发人员,有些用户还有可能会去商店给你差评之类的,这就不多说了,反正会直接影响到你APP的口碑和市场竞争能力。而在以前,我们是怎么处理Crash的呢?一般有三个补救措施:

1.等待用户反馈,这样很被动;

2.了解出错原因,让用户提供日志和使用场景,不靠谱,攒人品吧;

3.提示用户反馈,这样对用户体验有点糟糕。

而在以前,很多厂商基本都这样搞过,归根究底,还是现在的APP质量,仍然不敢恭维。

二、友盟+U-APM崩溃分析功能介绍

(一)错误趋势

在一定筛选条件与时间范围内,错误次数、错误率、影响用户数、影响用户占比的图表趋势,可以选择应用版本进行对比。

1、异常类型

在Android系统中,崩溃分为“Java崩溃”和“Native崩溃”。

在iOS系统中,支持捕获Objective-C层或Swift层崩溃。

2、时间范围

支持最近90天的数据查询

3.维度筛选

支持应用版本、设备机型、操作系统、运营商、渠道、地域的维度筛选

4.高级功能

新增异常:在时间范围与筛选维度条件下,首次生成错误ID的异常(错误ID是错误摘要唯一识别)

屏蔽系统级别的错误:如果错误中堆栈无业务内容,则被判定为系统级别错误。您可以屏蔽系统级别错误,以便专注于分析业务错误。

只看鸿蒙设备:指发生错误/异常的设备为HarmonyOS,但尚未支持HarmonyOS系统级别错误

(二)错误分布

在时间范围与筛选维度条件下,按照应用版本、设备机型、操作系统、运营商、渠道、地域、崩溃页面、运行时长8个维度的分布图。

TOP5:错误次数的TOP5排行情况

详情:该维度下,各属性值对应的错误次数与用户数明细,支持在表头筛选具体属性。

(三)错误列表

在时间范围与筛选维度条件下,所有崩溃日志按照崩溃摘要进行聚合后的错误列表。

1、错误排行:默认按照崩溃次数降序展示,帮助您快速的找到崩溃次数最多、影响最严重的错误。您也可以选择按照影响人数排行,找到影响面积最大的错误。

2、错误ID:是错误摘要的唯一识别

3、版本范围:在当前筛选条件下,该崩溃发生的版本范围

4、处理状态:该错误的处理状态,支持设置状态包括未修复、处理中、已忽略、已修复

5、告警设置:您可以对单个错误进行告警设置,在该位置添加的告警可在监控告警中修改和设置,点击了解告警详情。

6、标签:支持对错误摘要添加标签

7、导出:导出当前展示的错误列表内容,一次导出最多支持1000条

(四)错误详情

将错误摘要相同的错误日志聚合在一起,展示其详细信息,帮助您快速定位问题、解决问题。

关于友盟+U-APM还有很多妙用,以上是关于应用崩溃分析的介绍,它还提供云真机测试能力,助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。