MyJio 将 ANR 降低 40%,从而减少了客户投诉

MyJio 是通往 Jio 产品和服务的世界的门户。它是一站式目的地,提供充值、管理账户和 Jio 设备、UPI 和支付、电影、音乐、新闻、游戏、测验以及更多娱乐服务。MyJio 拥有超过 5 亿次安装和 1.5 亿月活跃用户,是印度最大的应用之一。

此外,随着 JioPhone NEXT(Jio 的低成本 4G 智能手机)的推出,一个新的用户群体(最近从功能手机迁移过来)也加入了进来。

面对如此庞大的用户群,即使是影响 1% 用户的性能问题,也意味着会影响 500 万用户。因此,其重要性促使我们投入专项努力来提升应用性能和用户体验。

挑战

MyJio 的 ANR 和崩溃指标受到影响,原因在于该应用安装在大量跨 Android 版本的低端和中端设备上。在继续支持各种设备(其中一些运行在较旧和已弃用的 Android 版本上)的同时,提供无缝的客户体验是一个挑战。团队还优先确保应用在最低端的 Android Go 设备上也能流畅运行。

由于日志数量有限,并且很难重现场景,因此调试花费了大量时间。

这些挑战也直接影响了 MyJio 的变现策略。一个重要的关注领域是使应用内的流程无缝进行,并减少 ANR。这样,用户就可以充值、生成潜在客户、通过 UPI 进行交易以及进行各种其他活动,而无需担心应用无响应。

他们是如何做到的

为了分析各种设备硬件配置造成的 ANR 和崩溃瓶颈,MyJio 团队依赖于 Play 管理中心、Android Studio(用于开发和调试)、Firebase Crashlytics 等工具。

该团队采取了有针对性的方法来解决以下问题:

  • 识别了设备上(尤其是低内存设备)由广播 ANR、重组 ANR 以及渲染线程阻塞导致的 ANR。
  • 根据堆栈跟踪,观察到与 Compose 相关的 ANR 阻碍了仪表板的渲染。
  • 在 Play 管理中心观察到 ANR 后,他们在 Android Studio 中严格模式下检查了 MyJio 应用,并逐一修复了主线程阻塞的问题。
  • 在 Firebase Crashlytics 上启用了速度警报错误报告,以便立即突出显示任何异常情况。
  • 密切关注第三方 SDK 的集成,确保它们占用主线程的时间不超过 300 毫秒。

成果

MyJio 团队在实施这些更改时必须考虑到各种设备配置。他们还必须考虑从功能手机升级到 JioPhone NEXT 4G 智能手机的新用户涌入。

团队取得了以下成果:

  • 关于应用卡顿、崩溃和 ANR 的用户反馈减少了 20%。这直接使得用户会话时间提升了 15%。
  • ANR 率降低了 40%
  • 热启动时间缩短了 70%
  • Play 商店评分提升了 18%
  • 会话时间提升了 15%

团队的速度和生产力持续提升,看到这些改进成果进一步提升了团队的士气。

“为用户提供一流服务的执念是 Jio 和 Google 共同的愿景。这次合作帮助我们通过 JioPhone Next 进一步提升了以客户为中心的服务;为尚未开发的这部分用户带来了新的数字革命。随着越来越多的用户跨不同人群、设备和 Android 版本加入,为所有用户,特别是数字世界的新进入者,优化体验变得势在必行。”

– Mohsin Abbas,MyJio 客户与合作伙伴渠道产品与工程主管副总裁