Monzo是提供數(shù)字和僅移動金融服務(wù)的銀行服務(wù)和應(yīng)用程序。他們的任務(wù)是讓每個(gè)人都能賺錢。為了注冊新客戶,Monzo應(yīng)用程序會捕獲身份證明文件的圖像(例如護(hù)照,駕駛執(zhí)照或身份證),并拍攝自拍視頻以證明身份證明文件適合申請人。
他們做了什么
Monzo應(yīng)用程序的早期版本使用camera2 API。某些設(shè)備上的隨機(jī)崩潰和奇怪行為導(dǎo)致25%的潛在客戶無法繼續(xù)進(jìn)行識別捕獲和自拍視頻步驟。
為了解決這些挑戰(zhàn),Monzo轉(zhuǎn)向了CameraX,這是一個(gè)Jetpack支持庫,旨在簡化相機(jī)應(yīng)用程序的開發(fā),以實(shí)現(xiàn)其圖像和視頻捕獲要求。通過使用CameraView,Monzo使用takePicture()方法實(shí)現(xiàn)了標(biāo)識文檔圖像的捕獲。對于自拍視頻,他們使用了startRecording()和stopRecording()方法。他們想對注冊流程進(jìn)行設(shè)計(jì)更改,并希望有一個(gè)更簡單的相機(jī)庫來為他們提供更多的設(shè)計(jì)靈活性。
結(jié)果
引入CameraX使Monzo可以簡化其代碼,使其更易于維護(hù),并有助于簡化開發(fā)。使用CameraX可以大大減少崩潰,并且他們不再看到相機(jī)閃光燈的隨機(jī)激活。所有這些都有助于降低注冊流程中的流失率,并改善了用戶反饋。
實(shí)施CameraX導(dǎo)致的代碼簡化減少了將近9,000行代碼,其中包括6,000行UI代碼。除了使代碼更易于維護(hù)和簡化開發(fā)外,CameraX還提高了單元測試中的代碼覆蓋率。
重要的是,對注冊流程的影響是巨大的。隨著CameraX的推出以及簡化的流程設(shè)計(jì)的變化,從識別圖像捕獲和自拍視頻記錄中退出的比例從25%下降到5%左右。
“對于我們來說,CameraX的主要目的是保持穩(wěn)定性,并為我們的開發(fā)人員提供輕松的集成體驗(yàn)。對于我們來說,這是一個(gè)完美的圖書館-我們只是想以一種簡單的方式來拍照和錄像。CameraX給了我們,加上我們的代碼更簡單,用戶體驗(yàn)也更好?!盇nastasios Morfopoulos-Android開發(fā)人員,Monzo
開始吧
查看CameraX文檔以了解如何引入更強(qiáng)大和更簡單的方法