期望:
捕获线上crash日志实时上传,提供crash堆栈可视化分析,以及对卡顿,电量,内存,场景切换及影响用户数等做综合监控。达到提升应用质量和间接降低应用开发的技术和人力成本。
选型考量维度:
功能丰富程度
稳定性
即时性
易用性
性价比
方案一:
Apple 自带的 iTunes Connect
从开发人员的角度来讲使用最直观,因为其能配合Xcode直接定位到crash的代码行。
但缺点也致命,仅能提供crash日志,对页面卡顿,电量消耗,内存泄露,场景之间切换的耗时等没有一个综合的监控。
其次crash日志也需要用户授权,否则不能获取。用户授权后上传的时间也不可控,按经验来看大约有两天左右的延迟,即线上用户设备上产生的一个crash报告,如果他同意和你共享,你大约需要48小时左右才能在苹果的iTunes Connect的后台界面看到。
综上,如果要求对App做综合,实时的监控,那么是达不到要求的,只能作为一个后备的补充方案。
供应商 | 功能丰富程度 | 稳定性 | 即时性 | 易用性 | 性价比 |
---|---|---|---|---|---|
iTunes Connect | 低,仅支持crash日志 | 需要用户授权 | 极低 | 高 | 免费 |
方案二:
三方服务
Firebase: 谷歌出品,功能丰富强大,网络,UI帧率监控,crash分析等等全都具备,自带A/B测试,移动端机器学习。但部分涉及到付费的高级功能可能对中国大陆不支持。
TalkingData: 主要是做埋点统计,对于性能监控并不专业,仅支持收集crash日志。
友盟统计:主要做埋点统计,附带crash报告,但支持的极为完善,如果仅对crash监控有需求,其实已经足够胜任。
极光:主业推送和埋点统计,附带crash收集,自身官网已经不维护,产品以第三方商家身份托管在腾讯云官网,文档缺失,后端控制台缺失,极其不推荐使用。
网易云捕:网易系的质量监控产品, 平台覆盖面非常广泛,卡顿、崩溃比率,影响用户数都有统计,24小时自动报警,集成简单,对C++代码也支持收集,大量部署于网易系的项目。
腾讯QAPM: 各类功能异常丰富,除基础的App端质量监控之外,还包含各类数据的量化统计,现场复原,启动速度追踪,低级问题自动指定责任人等,缺点是目前处于内测阶段,仅提供安卓版SDK。
供应商 | 功能丰富程度 | 稳定性 | 即时性 | 易用性 | 性价比 |
---|---|---|---|---|---|
Firebase | 高 | 高 | 高 | 一般 | 高级功能付费 |
TalkingData | 低 | 部分crash有收集遗失 | 高 | 高 | 免费 |
友盟 | 中上 | 部分crash有收集遗失 | 高 | 高 | 免费 |
极光 | 低 | 低 | 低 | 低 | 低 |
网易云捕 | 高 | 高 | 高 | 高 | 收费 |
腾讯QAPM | 极高 | 内测阶段 | 未知 | 未知 | 内测阶段免费 |
方案三:
自研:
技术栈(需要开发的):
移动端质量监控SDK(crash收集,电量,卡顿监控等)
服务端分析引擎
控制面板&邮件通知
架构图
建议:
自研耗时耗力,短期难以投入使用,苹果自带的iTunes Connect仅能作为其它方案的补充,相对来讲采用第三方方案成本最低,见效最快。
第三方服务可用的有友盟,网易云捕,腾讯QAPM。如果仅对crash监控有需求,仅友盟就足够,而且免费。如果需要对页面卡顿也有监控,可以考虑网易云捕,如果对这一块有系统性要求,则建议腾讯QAPM。