移动平台崩溃收集分析系统

来源:互联网 发布:求生之路2知乎 编辑:程序博客网 时间:2024/05/16 01:24

大家在开发移动APP时,会涉及到很多非产品本身的功能,比如数据统计分析、APP 质量跟踪、APP加密、漏洞扫描分析等等,这些功能目前都有很多第三方的SDK及平台可以使用,这些平台各有特点,很多时候开发者是凭借自己的慧眼来选择,也有很多是通过论坛、朋友等的推荐,今天我们就从移动平台质量跟踪这块和大家谈一谈这些第三方平台的功能特点。

SDK集成情况说明:

为了更好的比较这些三方平台,首先我们得知道线上比较热门的APP使用质量跟踪系统的的情况,通过Android 热门APK的分析,我们得到如下数据: 
集成crash sdk分布图
我们选取了Android主流的渠道的最热门的APK进行分析,从图中可以得出至少还有60%多的应用没有集成第三方的质量跟踪SDK。集成友盟数据统计这块的占比还是很高的,这些应用在使用运营数据统计过程中,也有可能同时使用友盟的crash收集分析。下面就我在开发产品中所使用过的一些主流质量跟踪系统说明下各个平台的功能特点及存在的不足。

crashlytics

crashlytics,这个想必很多开发者都听过,也有很多应用在用,之前是国外一家专门做质量跟踪的公司,2013年初被twitter收购,一下子名气就更大了,同时支持Android和iOS,后来逐渐加入了数据运营统计功能,全英文界面。从页面展示效果来看,做得相当棒,特别是运营数据统计这块,界面做得比友盟的酷炫,但是由于服务器在国外,除了访问很慢外,还会丢掉数据,这个我们自己的应用在接同时几个平台后,对比发现的,crashlytics不仅会丢crash数据,也同时会丢运营数据。之前听有人说是因为crashlytics是国外的,可能统计时间上有出入,它是按照UTC时间来统计的,但是我们对比了一周,乃至一个月的数据发现,crashlytics加起来的数据一直比其它平台少,所以这个可能确实不是时差问题了,crashlytics对国内开发者来说,看来不是好的选择,虽然存在很多优点,但是如果运营统计和crash捕捉不全的话, 慢慢的还是会被开发者所抛弃的。如下是我们一个产品的部分crash数据,不仅少了一些,而且还有几个是???乱码(隐去了部分敏感的产品数据): 
crashlytics功能界面

友盟

友盟的名气也是相当大,正因为crashlytics的很多缺点,让很多开发者选择了友盟用做数据统计和运营分析工具,对国内开发者有更好的使用体验和天然的优势。但是友盟在质量跟踪这块做得并不全面,只能说是够用,很多和质量跟踪相关的功能它并没有。而且友盟的错误分析的数据发送策略为再次启动时发送,所以crash发生后,需要再次启动应用才能接收到数据,这么一来被漏掉的crash就很多了,很多用户可能直接删除掉了,而且统计的时间也不准确,其它一些质量跟踪相关的好用的功能它也没有, 作为质量跟踪这块,友盟只能勉强凑合, 相对专业质量跟踪平台来讲,还是有很大的差距。友盟的质量跟踪这块界面相当简单,也一直没用它的质量跟踪,所以crash这块数据几乎没有,web界面如下: 
友盟错误列表

[Bugly]

Bugly是腾讯内部使用的一个质量跟踪平台,其优势不言而喻,其自身公司内这么多产品在使用,除了crash数据,还有运营数据,可以满足部分轻运营级别的开发者。单从crash这块功能来看,比友盟强大,而且还可以分享求助,虽然这个分享求助的功能很奇怪,谁没事会分享crash堆栈到朋友圈?另外一个是论坛分享,这个也是有局限性的,论坛活跃度不够的话,也没多少人在这里分享,看来解决问题还是要救助其它途径或者开发者自己排查。Bugly并没有明显的缺点,算是一款合格的质量跟踪系统。Crash列表界面如下图: 
Bugly

网易云捕

网易云捕,和bugly相同的是,云捕也是网易内部一直在使用的一款质量跟踪系统,现已经免费对外开放,其无论是功能、集成便捷性都不输其它产品,访问速度很快,crash捕捉到上报速度也及时。云捕的一个特色功能就是支持实时报警,提供了各种报警选项,包括新BUG报警、已修复BUG重现报警,crash比率严重时报警等等。这个在非常重视APP质量的开发团队里很实用,让团队不错过任何一个重要的质量问题,后面在尝试时,发现还可以自定义参数,自定义异常上报,这个还是比较实用的。由于刚集成云捕,所以没什么数据,crash列表如下图: 
这里写图片描述

APP质量跟踪系统并不限于以上这些,其它也有,但由于我们并没有使用过,所以也不好做评论。以上一些使用心得和个人观点仅供参考。

0 0