MyJio 是通往 Jio 产品和服务世界的大门。它是充值、管理帐户和 Jio 设备、UPI 和支付、娱乐服务(包括电影、音乐、新闻、游戏、测验等)的一站式目的地。MyJio 拥有超过 5 亿次安装量和 1.5 亿月活跃用户,是印度最大的应用之一。
此外,随着 JioPhone NEXT(Jio 的低成本 4G 智能手机)的推出,一个新的用户群(最近从功能手机迁移而来)加入了其中。
为了满足如此庞大的用户群,即使只有 1% 的用户受到性能问题的影响,也会影响到 500 万用户。因此,其规模促使我们投入专门的努力来提升应用性能和用户体验。
挑战
由于 MyJio 应用存在于大量不同 Android 版本的中低端设备中,其 ANR 和崩溃指标受到了影响。在继续支持各种设备(其中一些运行在较旧和已弃用的 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客户和合作伙伴渠道产品与工程副总裁