Monzo è un'app e un servizio bancario che offre servizi finanziari digitali e solo per dispositivi mobili. La sua missione è far sì che il denaro funzioni per tutti. Per iscrivere nuovi clienti, l'app Monzo acquisisce le immagini di un documento di identità (ad esempio passaporto, patente di guida o carta d'identità) e scatta un video selfie per dimostrare che i documenti d'identità sono per il richiedente.
Cosa hanno fatto
Le prime versioni dell'app Monzo utilizzavano l'API camera2. Arresti anomali casuali e comportamenti strani su alcuni dispositivi hanno portato il 25% dei potenziali clienti a non proseguire oltre i passaggi di acquisizione dell'identificazione e video in modalità selfie.
Per affrontare queste sfide, Monzo si è affidata a CameraX, una libreria di supporto per Jetpack
progettata per semplificare lo sviluppo di app per fotocamera, in modo da implementare i requisiti relativi all'acquisizione di immagini e
video. Utilizzando CameraController
, Monzo ha implementato l'acquisizione dell'immagine del documento di identificazione utilizzando il metodo takePicture()
. Per il video selfie, sono stati utilizzati i metodi startRecording()
e stopRecording()
. L'azienda voleva apportare modifiche al design del flusso di iscrizione e voleva una raccolta di fotocamere più semplice che offrisse una maggiore flessibilità del design.
Risultati
L'introduzione di CameraX ha permesso a Monzo di semplificare il codice, rendendolo più sostenibile, e ha contribuito a semplificare lo sviluppo. Il passaggio a CameraX ha comportato una notevole riduzione degli arresti anomali e non si sono più registrati attivazioni casuali del flash della fotocamera. Tutto questo ha contribuito a una riduzione del tasso di abbandono nel flusso di registrazione e ha migliorato il feedback degli utenti.
La semplificazione del codice risultante dall'implementazione di CameraX ha ridotto di quasi 9000 righe di codice, incluse 6000 righe di codice dell'interfaccia utente. Oltre a semplificare la manutenzione del codice e a semplificare lo sviluppo, CameraX ha anche portato a una migliore copertura del codice nei test delle unità.
È importante sottolineare che l'impatto sul flusso di registrazione è stato significativo. Con l'introduzione di CameraX e la modifica del design del flusso semplificato, il tasso di abbandono dell'acquisizione di immagini di identificazione e della registrazione di video selfie è sceso dal 25% a circa il 5%.
"Per noi CameraX si è concentrata sulla stabilità e su un'esperienza di integrazione semplice per i nostri sviluppatori. Era la raccolta perfetta per noi: volevamo solo un modo semplice per scattare foto e registrare video. Con CameraX, il codice è più semplice e l'esperienza utente è migliore." Anastasios Morfopoulos, sviluppatore Android, Monzo
Inizia
Consulta la documentazione di CameraX per scoprire come introdurre un codice di acquisizione delle immagini più solido e semplice nella tua app o nel tuo gioco.