Monzo zmniejszył liczbę wierszy kodu o ponad 9000 i 5-krotnie zwiększył liczbę rejestracji dzięki CameraX

Monzo to usługa bankowa i aplikacja oferująca usługi finansowe dostępne tylko w formie cyfrowej i na urządzeniach mobilnych. Misją firmy jest sprawienie, aby pieniądze pracowały dla każdego. Aby zarejestrować nowych klientów, aplikacja Monzo rejestruje obrazy dokumentu tożsamości (np. paszportu, prawa jazdy lub dowodu osobistego) i nagrywa film selfie, aby potwierdzić, że dokumenty tożsamości należą do osoby składającej wniosek.

Rozwiązanie

Wczesne wersje aplikacji Monzo korzystały z interfejsów API Camera2. Losowe awarie i dziwne zachowania na niektórych urządzeniach spowodowały, że 25% potencjalnych klientów nie przechodziło dalej niż etap rejestracji dokumentu tożsamości i nagrywania filmu selfie.

Aby rozwiązać te problemy, Monzo sięgnął po CameraX, bibliotekę pomocy Jetpack, która ułatwia tworzenie aplikacji do obsługi aparatu. Dzięki niej firma wdrożyła wymagania dotyczące przechwytywania obrazów i filmów. Monzo wdrożyłCameraController przechwytywanie obrazu dokumentu tożsamości za pomocą metodytakePicture(). W przypadku filmu selfie zastosowano metody startRecording()stopRecording(). Chcieliśmy wprowadzić zmiany w procesie rejestracji i stworzyć prostszą bibliotekę aparatu, która zapewni nam większą elastyczność w zakresie projektowania.

Wyniki

Wprowadzenie CameraX uprościło kod Monzo, dzięki czemu jest on łatwiejszy w utrzymaniu, a także ułatwiło proces tworzenia aplikacji. Przejście na CameraX znacznie zmniejszyło liczbę awarii i wyeliminowało przypadkowe włączanie lampy błyskowej. Wszystko to przyczyniło się do zmniejszenia wskaźnika rezygnacji w procesie rejestracji i poprawy opinii użytkowników.

Uproszczenie kodu wynikające z wdrożenia CameraX zmniejszyło liczbę wierszy kodu o prawie 9000, w tym o 6000 wierszy kodu interfejsu. Oprócz ułatwienia utrzymania kodu i uproszczenia procesu programowania biblioteka CameraX przyczyniła się też do lepszego pokrycia kodu w testach jednostkowych.

Co ważne, wpływ na proces rejestracji był znaczący. Wprowadzenie CameraX i uproszczonych zmian w projekcie przepływu spowodowało spadek odsetka rezygnacji z przechwytywania obrazu identyfikacyjnego i nagrywania filmu selfie z 25% do około 5%.

„W przypadku CameraX zależało nam przede wszystkim na stabilności i łatwej integracji dla naszych programistów. To była dla nas idealna biblioteka – chcieliśmy tylko prostego sposobu na robienie zdjęć i nagrywanie filmów. Dzięki CameraX nasz kod jest prostszy, a wrażenia użytkowników lepsze”. Anastasios Morfopoulos, deweloper aplikacji na Androida, Monzo

Rozpocznij

Aby dowiedzieć się, jak wprowadzić do aplikacji lub gry bardziej niezawodny i uproszczony kod przechwytywania obrazu, zapoznaj się z dokumentacją CameraX.