OkCredit 减少 ANR 后,平均商家交易额增长 30%

OkCredit 是一款面向印度数百万店主及其客户的信用账户管理应用。每月交易量达 1.4 亿次,下载量超过 5000 万次,仅去年一年,OkCredit 在该应用上的交易额就达到了 500 亿美元。

考虑到 OkCredit 的运营规模以及数百万依赖其应用管理账户的企业,OkCredit 必须确保为所有用户提供流畅无缝的体验,无论他们使用何种设备。

用户会通过好评和高评分来奖励表现最佳的应用。稳定性或性能存在问题的应用往往会导致用户沮丧,甚至更糟的是,导致差评。因此,如果您希望让用户满意并为他们提供始终如一的良好用户体验,那么 ANR(应用无响应)就是一个重要的性能指标。

OkCredit投资改进Android Vitals,例如减少ANR和改进应用启动时间,使其获得了丰厚的回报,尤其是在资源有限的低端设备上。他们看到客户留存率和应用上的商户交易量都有所提高。

挑战

OkCredit的关键用户群体之一是低端设备用户。这些设备资源有限,在其上运行繁重的任务很容易导致次优的用户体验。例如,一个主要的维护挑战是跟踪和添加ANR的检测工具。目标是解决这些问题,以改善整体用户体验并增加商户交易量。

他们做了什么?

减少ANR和改进像OkCredit这样的应用的启动时间意味着快乐的客户,而且应用上的商户交易量也会增加。

调试ANR最重要的线索是找出ANR发生时主线程在做什么。在谷歌的反馈下,OkCredit创建了一种识别这些ANR的结构化方法。

  • 使用Android Vitals监控性能,并使用Firebase Crashlytics上的自定义报告来了解ANR。
  • 通过将第三方库的初始化移动到后台线程,优化了应用启动时的初始化。
  • 使用Systrace和Profiler等工具来识别广播接收器和服务中的ANR。CI上的宏基准测试也有助于基准测试冷启动。
  • 使用方法分析器,识别出要延迟加载的对象。
  • 使用perfetto,识别出高膨胀布局。
  • 通过在后台线程中将所有apply()更改为commit(),解决了共享首选项中的ANR问题。

通过比较指标或使用systrace、CPU分析器等工具来验证上述任务的影响。

结果

除了改进指标和用户体验之外,OkCredit开发团队还获得了有助于他们改进未来开发流程的见解。

  • 在低端设备上:
    • ANR减少了60%
    • 低端设备的第1天客户留存率提高了约22%
    • 每位商家的平均交易额增加了30%
  • Play商店上的应用评分从4.3提高到4.6
  • 冷启动时间提高了约70%
  • 任何屏幕上用户点击到第一帧完整绘制的改进率为60%

这项工作使团队团结起来,创建最佳实践,并鼓励他们专注于改善用户体验。团队已开始在开发过程中使用Perfetto和CPU分析器等工具,以提高他们对系统的理解并更快地做出决策。

“专注于减少ANR帮助我们通过提供令人愉悦的体验来脱颖而出。这导致了留存率的提高和流失率的降低。此外,由于团队的工程卓越性,这些实践对组织文化产生了深远的影响。这让我们作为团队和公司感到自豪,在印度新兴的SMB数字化行业中树立了应用性能的新标杆。”

——Gaurav Kunwar(OkCredit联合创始人兼首席产品官)