Monzo 使用 CameraX 减少了 9,000 多行代码,并将注册流失率降低了 5 倍

Monzo 是一家银行服务和应用程序,提供数字和移动端金融服务。他们的使命是让金钱为每个人服务。为了注册新客户,Monzo 应用程序会捕获识别证件(例如护照、驾驶执照或身份证)的图像,并拍摄自拍照视频以证明识别证件属于申请人。

他们做了什么

早期的 Monzo 应用程序版本使用 camera2 API。在某些设备上发生的随机崩溃和奇怪行为导致 25% 的潜在客户无法完成识别捕获和自拍照视频步骤。

为了解决这些挑战,Monzo 转向 CameraX,这是一个旨在简化相机应用程序开发的 Jetpack 支持库,以实施其图像和视频捕获要求。使用 CameraController,Monzo 使用 takePicture() 方法实施了识别证件图像捕获。对于自拍照视频,他们使用了 startRecording()stopRecording() 方法。他们希望对注册流程进行设计更改,并希望有一个更简单的相机库,这将为他们提供更大的设计灵活性。

结果

引入 CameraX 使 Monzo 能够简化他们的代码,使其更易于维护,并帮助简化开发。转向 CameraX 极大地减少了崩溃,他们不再看到随机激活的相机闪光灯。所有这些都有助于降低注册流程中的流失率,并改善了用户反馈。

从实施 CameraX 中产生的代码简化减少了近 9,000 行代码,包括 6,000 行 UI 代码。除了使代码更易于维护和简化开发外,CameraX 还带来了单元测试中更好的代码覆盖率。

重要的是,对注册流程的影响是显著的。随着 CameraX 的引入以及简化的流程设计更改,识别图像捕获和自拍照视频录制中的流失率从 25% 下降到约 5%。

“对我们来说,CameraX 的关键在于稳定性和为我们的开发人员提供简便的集成体验。它对我们来说是一个完美的库——我们只想要一种简单的方式来拍摄照片和视频。CameraX 为我们提供了这种方式,而且我们的代码更简单,用户体验也更好。”Anastasios Morfopoulos——Android 开发人员,Monzo

入门

查看 CameraX 文档,了解如何将更健壮且更简单的图像捕获代码引入您的应用程序或游戏中。