Monzo là một dịch vụ ngân hàng và ứng dụng cung cấp các dịch vụ tài chính kỹ thuật số và chỉ dành cho thiết bị di động. Sứ mệnh của họ là giúp mọi người sử dụng tiền một cách hiệu quả. Để đăng ký khách hàng mới, ứng dụng Monzo sẽ chụp ảnh giấy tờ tuỳ thân (chẳng hạn như hộ chiếu, giấy phép lái xe hoặc thẻ căn cước) và quay video chân dung tự chụp để chứng minh rằng giấy tờ tuỳ thân là của người đăng ký.
Những việc họ đã làm
Các phiên bản đầu của ứng dụng Monzo sử dụng API camera2. Các sự cố ngẫu nhiên và hành vi bất thường trên một số thiết bị khiến 25% khách hàng tiềm năng không thực hiện các bước chụp ảnh giấy tờ tuỳ thân và quay video selfie.
Để giải quyết những thách thức này, Monzo đã chuyển sang dùng CameraX (một thư viện hỗ trợ Jetpack được thiết kế để giúp việc phát triển ứng dụng máy ảnh trở nên dễ dàng hơn) nhằm triển khai các yêu cầu về việc chụp ảnh và quay video. Bằng cách sử dụng CameraController
, Monzo đã triển khai tính năng chụp ảnh giấy tờ tuỳ thân bằng phương thức takePicture()
. Đối với video selfie, họ đã sử dụng các phương thức startRecording()
và stopRecording()
. Họ muốn thay đổi thiết kế quy trình đăng ký và muốn có một thư viện camera đơn giản hơn để có thể linh hoạt hơn trong thiết kế.
Kết quả
CameraX đã giúp Monzo đơn giản hoá mã của họ, giúp mã dễ duy trì hơn và đơn giản hoá quá trình phát triển. Việc chuyển sang CameraX đã giảm đáng kể số lần gặp sự cố và người dùng không còn thấy đèn flash của camera kích hoạt ngẫu nhiên nữa. Tất cả những điều này đã góp phần giảm tỷ lệ bỏ dở trong quy trình đăng ký và cải thiện ý kiến phản hồi của người dùng.
Việc đơn giản hoá mã nhờ triển khai CameraX đã giảm gần 9.000 dòng mã, trong đó có 6.000 dòng mã giao diện người dùng. Ngoài việc giúp duy trì mã dễ dàng hơn và đơn giản hoá quá trình phát triển, CameraX còn giúp tăng mức độ bao phủ mã trong các kiểm thử đơn vị.
Điều quan trọng là tác động đến quy trình đăng ký là rất đáng kể. Với việc ra mắt CameraX và những thay đổi đơn giản về thiết kế quy trình, tỷ lệ bỏ ngang khi chụp ảnh nhận dạng và quay video selfie đã giảm từ 25% xuống còn khoảng 5%.
"Đối với chúng tôi, CameraX là tất cả những gì liên quan đến độ ổn định và trải nghiệm tích hợp dễ dàng cho các nhà phát triển của chúng tôi. Đây là thư viện hoàn hảo đối với chúng tôi. Chúng tôi chỉ muốn một cách đơn giản để chụp ảnh và quay video. CameraX đã mang lại cho chúng tôi điều đó, đồng thời mã của chúng tôi đơn giản hơn và trải nghiệm người dùng cũng tốt hơn." Anastasios Morfopoulos – Nhà phát triển Android, Monzo
Bắt đầu
Hãy xem tài liệu về CameraX để tìm hiểu cách đưa mã chụp ảnh đơn giản và mạnh mẽ hơn vào ứng dụng hoặc trò chơi của bạn.