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()
i 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.