Monzo est une application et un service bancaire qui propose des services financiers numériques et mobiles uniquement. Sa mission est de rendre l'argent accessible à tous. Pour inscrire de nouveaux clients, l'application Monzo capture des images d'une pièce d'identité (comme un passeport, un permis de conduire ou une carte d'identité) et prend une vidéo selfie pour prouver que les pièces d'identité appartiennent au demandeur.
Ce qu'ils ont fait
Les premières versions de l'application Monzo utilisaient les API camera2. Des plantages aléatoires et des comportements étranges sur certains appareils ont empêché 25 % des clients potentiels de passer les étapes de capture de l'identité et de la vidéo selfie.
Pour relever ces défis, Monzo s'est tourné vers CameraX, une bibliothèque d'assistance Jetpack conçue pour faciliter le développement d'applications d'appareil photo, afin d'implémenter ses exigences en matière de capture d'images et de vidéos. À l'aide de CameraController
, Monzo a implémenté la capture d'images de pièces d'identité à l'aide de la méthode takePicture()
. Pour la vidéo selfie, ils ont utilisé les méthodes startRecording()
et stopRecording()
. Ils souhaitaient modifier la conception du parcours d'inscription et disposer d'une bibliothèque d'appareils photo plus simple qui leur offrirait plus de flexibilité en termes de conception.
Résultats
CameraX a permis à Monzo de simplifier son code, le rendant plus facile à gérer, et a contribué à simplifier le développement. Le passage à CameraX a considérablement réduit les plantages et les activations aléatoires du flash de l'appareil photo. Tout cela a contribué à réduire le taux d'abandon dans le processus d'inscription et à améliorer les commentaires des utilisateurs.
La simplification du code résultant de l'implémentation de CameraX a permis de réduire près de 9 000 lignes de code, dont 6 000 lignes de code d'UI. En plus de faciliter la maintenance du code et de simplifier le développement, CameraX a également permis d'améliorer la couverture du code dans les tests unitaires.
L'impact sur le parcours d'inscription a été important. Avec l'introduction de CameraX et les modifications simplifiées de la conception du flux, le taux d'abandon de la capture d'images d'identification et de l'enregistrement de vidéos de selfies est passé de 25 % à environ 5 %.
"Pour nous, CameraX était avant tout une question de stabilité et de facilité d'intégration pour nos développeurs. C'était la bibliothèque idéale pour nous, car nous voulions simplement un moyen facile de prendre des photos et des vidéos. CameraX nous a permis d'y parvenir, et notre code est plus simple et l'expérience utilisateur meilleure." Anastasios Morfopoulos, développeur Android chez Monzo
Premiers pas
Consultez la documentation CameraX pour découvrir comment introduire un code de capture d'image plus robuste et simplifié dans votre application ou votre jeu.