Monzo ลดโค้ดไปกว่า 9,000 บรรทัดและปรับปรุงการลงทะเบียนที่หยุดกลางคันได้ถึง 5 เท่าด้วย CameraX

Monzo เป็นบริการและแอปธนาคารที่ให้บริการทางการเงินแบบดิจิทัลและบนอุปกรณ์เคลื่อนที่เท่านั้น พันธกิจของพวกเขาคือการทำให้เงินทำงานเพื่อทุกคน หากต้องการลงชื่อสมัครใช้ลูกค้าใหม่ แอป Monzo จะบันทึกรูปภาพเอกสารระบุตัวตน (เช่น หนังสือเดินทาง ใบขับขี่ หรือบัตรประจำตัว) และถ่ายวิดีโอเซลฟีเพื่อพิสูจน์ว่า เอกสารระบุตัวตนเป็นของผู้สมัคร

สิ่งที่พวกเขาทำ

แอป Monzo เวอร์ชันแรกๆ ใช้ Camera2 API การขัดข้องแบบสุ่มและพฤติกรรมที่ผิดปกติในอุปกรณ์บางเครื่องทำให้ ลูกค้าที่มีศักยภาพ 25% ไม่ดำเนินการต่อหลังจากขั้นตอนการจับภาพเพื่อระบุตัวตนและ วิดีโอเซลฟี

Monzo จึงหันมาใช้ CameraX ซึ่งเป็นไลบรารีการสนับสนุน Jetpack ที่ออกแบบมาเพื่อให้การพัฒนาแอปกล้องง่ายขึ้น เพื่อตอบโจทย์ความท้าทายเหล่านี้และใช้ข้อกำหนดในการจับภาพและ วิดีโอ Monzo ใช้ CameraController เพื่อติดตั้งใช้งาน การจับภาพเอกสารระบุตัวตนโดยใช้ takePicture() สำหรับวิดีโอเซลฟี ผู้ใช้ใช้วิธีการ startRecording() และ stopRecording() โดยต้องการเปลี่ยนแปลงการออกแบบขั้นตอนการลงชื่อสมัครใช้ และต้องการ คลังกล้องที่ตรงไปตรงมายิ่งขึ้นซึ่งจะช่วยให้มีความยืดหยุ่นในการออกแบบมากขึ้น

ผลลัพธ์

การเปิดใช้ CameraX ช่วยให้ Monzo ลดความซับซ้อนของโค้ด ทำให้ดูแลรักษาได้ง่ายขึ้น และช่วยลดความซับซ้อนในการพัฒนา การเปลี่ยนไปใช้ CameraX ช่วยลดข้อขัดข้องได้อย่างมาก และผู้ใช้จะไม่เห็นการเปิดใช้งานแฟลชกล้องแบบสุ่มอีกต่อไป ทั้งหมดนี้ช่วยลดอัตราการเลิกกลางคันในขั้นตอนการลงชื่อสมัครใช้และปรับปรุงความคิดเห็นของผู้ใช้

การลดความซับซ้อนของโค้ดที่เกิดจากการติดตั้งใช้งาน CameraX ทำให้โค้ดลดลงเกือบ 9,000 บรรทัด ซึ่งรวมถึงโค้ด UI 6,000 บรรทัด นอกเหนือจากการทำให้โค้ดบำรุงรักษาง่ายขึ้นและลดความซับซ้อนของการพัฒนาแล้ว CameraX ยังช่วยให้การทดสอบหน่วยครอบคลุมโค้ดได้ดีขึ้นด้วย

ที่สำคัญคือ ผลกระทบต่อขั้นตอนการลงชื่อสมัครใช้มีนัยสำคัญ การเปิดตัว CameraX และการเปลี่ยนแปลงการออกแบบโฟลว์ที่เรียบง่ายขึ้นทำให้อัตราการหลุดระหว่างการจับภาพระบุตัวตนและการบันทึกวิดีโอเซลฟีลดลงจาก 25% เหลือประมาณ 5%

"สำหรับเรา CameraX มุ่งเน้นที่ความเสถียรและมอบประสบการณ์การผสานรวมที่ง่ายดาย สำหรับนักพัฒนาแอปของเรา ซึ่งเป็นคลังที่เหมาะกับเรามาก เพราะเราแค่อยากได้วิธีง่ายๆ ในการถ่ายรูปและวิดีโอ CameraX ช่วยให้เราทำสิ่งนั้นได้ แถมโค้ดของเรายังง่ายขึ้นและประสบการณ์ของผู้ใช้ก็ดีขึ้นด้วย" Anastasios Morfopoulos - นักพัฒนาแอป Android, Monzo

เริ่มต้นใช้งาน

ดูเอกสารประกอบ CameraX เพื่อดูวิธี นำโค้ดการจับภาพที่แข็งแกร่งและเรียบง่ายยิ่งขึ้นมาใช้ในแอปหรือเกม