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 เพื่อดูวิธี นำโค้ดการจับภาพที่แข็งแกร่งและเรียบง่ายยิ่งขึ้นมาใช้ในแอปหรือเกม