当用户秒删APP时,他在想些什么
当用户秒删APP时,他在想些什么
腾讯大数据 发表于5个月前
当用户秒删APP时,他在想些什么
  • 发表于 5个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

研究数据表明,高达62%的用户在使用移动App时遭遇过死机、无反应、闪退等程序崩溃(Crash)。如果Crash发生在首次启动,21%的用户会选择立即卸载App;而如果Crash发生在使用过程中,70%的用户会给App差评。

这个数字是不是高的有点可怕?质量学界有名的KANO模型也证实了这个道理,产品性能和用户满意之间并不总是呈线性关系。

在产品功能的优先级上,我们要优先满足基本型需求,第二是期望型需求,最后才是兴奋型需求。因为如果基本型需求的表现差强人意,用户的不满情绪会急剧增加,甚至粉转黑,即使满足此类需求并不能带来客户满意度的增加。

比如一个号称装备双曲面柔性屏、2256万超高像素、充电五分钟通话两小时的完美手机,如果打电话信号非常差、时断时续、通话质量掉渣,想必买了的客户都吵着要退货吧。

而对于一个App来说,用户的基本型需求就是程序稳定、可用、不闪退

 

Crash全方位解决方案

针对这个App开发同学的刚需,腾讯移动分析(MTA)将内部打磨多年的Crash分析能力对外输出,合成进阶版Crash分析。

它实现了多平台的Crash数据完全采集,帮助开发者动态监测App在各移动设备的异常情况,且支持按错误类型和应用版本筛选/分析错误, 如果APP发生重大的质量问题,系统将自动告警给相关人员,让相关人员做出相应的应急处理。更重要的是它简化了流程,助力App开发者用“一行代码”拥有“完整Crash分析系统”,为App运行时的崩溃检测和恢复提供有力保障。

具体来讲,MTA提供的 Crash分析解决了四大痛点:

第一,它实现了多平台的Crash数据完全采集。不同平台和CPU架构环境下的异常数据、堆栈、环境属性、运行参数等数据的完整获取,是后续定位的基础。

第二,数据的实时高效处理。将异常数据实时化处理,第一时间展示给用户,实时了解产品质量。并且支持按错误类型和应用版本筛选错误。

第三,堆栈数据的精准还原。准确的异常追踪过程、精确到行号的堆栈还原,是还原Crash现场的最有力数据。

第四,完善的告警运营体系。Crash分析完备的监控告警机制能及时监控App质量的波动,把握质量情况,甚至能云控助力远程解决问题。

下图是 Crash分析的全方位解决方案可视化图。

 

Crash 分析背后的技术攻关

能实现如此牛逼哄哄的功能,背后自然少不了程序员小哥哥们的技术突破,总的来说有二:终端Crash采集多平台建设和海量实时还原系统建设。

 

1、        终端Crash采集多平台建设

终端数据采集主要分为两个维度,一个是基本平台的建设,即Android和Java与C/C++、iOS的Objective C和Swift;二是专业领域的定制,比如主流的手游引擎Cocos2dx中的C/C++、Lua与JS,以及Unity3d的C#。有了这两个维度平台,基本上能覆盖绝大部分场景。而在众多语言平台上,Android的C/C++异常捕获是最具挑战性的。

一个简单的Crash处理会涉及到至少三个重要环节:一是源代码文件编译时的编译过程,中间会生成符号表和二进制文件;二是用户安装运行时,发生Crash后,整个捕获过程;三是后台对上报的异常堆栈进行堆栈符号还原的过程。

 除了堆栈数据,系统还需要更多维度更灵活的数据来辅助定位,诸如时间、状态、身份标识、归因、位置等详细的信息。

 

2、        海量实时还原系统建设

还原系统主要是用于处理不同平台上报的堆栈,主要有四个部分:预处理,流量控制、数据过滤;堆栈还原,不同平台的符号化堆栈内容;智能合并,特性提取与归类;入库,批量入库,实时检索。

同时MTA自研的iOS符号表还原工具也很强大,它不依赖于Mac OS系统,支持framwork符号还原,支持Swift语言,支持Demangle,还可精准到行号。

通过解析iOS的dSYM文件,我们可以得到符号表和dwarf数据,解析dwarf数据后可以得到解析后地址与文件行号映射关系,最终可对应到Crash地址发生的行号。

堆栈还原后,我们需要做结构化处理以方便提取特征堆栈。分级优化,按App、第三方组件、系统分级,第一次提取最直接相关的,第二次做干扰数据的过滤优化;同时,还要对堆栈的调用链过程做分析。

同时,增量计算模型还有如下功能:单层单节点内计算小段时间(秒级)的增量,定期发送到下一层节点进行汇总;全整数运算:减少字符串处理开销;全内存处理:文件持久化支持,保证端到端的消息可靠传输;智能容灾策略:本地文件备份、双机热备、一致性hash。

除以上两大技术攻关,MTA还有一个亮点功能,那就是一行代码,一个系统。只需要集成简单一行代码,便可拥有Crash分析、自定义事件、分群画像、无埋点等一系列服务,不愧为解放开发者的神器。

 

回到标题,当用户秒删App时,他在想什么呢?

暴躁的小A:垃圾软件,毁我青春,废我前程!

淡定的小B:连程序稳定都做不到,怎么实现“改变世界”的小目标呀~

聪明的小C:赶紧接入腾讯MTA来为你的App保驾护航啊!

 

联系我们:

如果您希望试用或者体验MTA Crash分析,请访问MTA官网接入试用。

如果您对该功能有疑问、或者在使用中遇到了困难,欢迎您联系mta官网在线客服,或者发送您的问题邮件至:dtsupport@tencent.com

商务合作或业务咨询,请联系以下邮箱:mta@tencent.com​​​​

共有 人打赏支持
粉丝 2
博文 14
码字总数 30424
×
腾讯大数据
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: