카카오톡 인앱 브라우저 — 앱 카메라 권한 최초 허용 직후에도 웹 카메라 미동작 및 deviceId·label 비어 있음

  1. 문의
    웹 기반 신분증 OCR 서비스를 운영 중이며, Chrome·Samsung Internet 등 일반 모바일 브라우저에서는 getUserMedia 기반 실시간 카메라 스캔이 정상 동작합니다.
    카카오톡 인앱 브라우저로 동일 URL 접속 시, 아래와 같은 문제가 발생합니다.

  2. 증상
    이슈는 “앱 카메라 권한이 아직 없는 상태에서 최초 진입할 때만” 발생합니다.
    Android에서 카카오톡 앱 카메라 권한이 없는 상태로 서비스 URL 최초 진입
    카카오톡 앱 카메라 권한 허용 팝업 표시 → 사용자가 「허용」 선택
    권한 허용 후에도 웹 카메라가 켜지지 않음 (프리뷰 없음, 스캔 불가)
    enumerateDevices()로 조회한 deviceId·label이 모두 빈 값
    참고: 이미 앱 카메라 권한이 허용된 상태에서 재진입할 때는 정상
    → 최초 1회 권한 부여 직후 흐름에서 문제가 집중됩니다.

Chrome / Samsung Internet (동일 URL): 정상
카카오톡 인앱 브라우저: 최초 진입 시 비정상

  1. 재현 방법
    Android 설정 → 앱 → 카카오톡 → 카메라 권한 「거부」 (또는 앱 데이터 초기화로 권한 초기화)
    카카오톡에서 서비스 URL을 인앱 브라우저로 최초 진입
    표시되는 카카오톡 앱 카메라 권한 팝업에서 「허용」 선택
    페이지에서 카메라 초기화 시도
    navigator.mediaDevices.enumerateDevices()
    navigator.mediaDevices.getUserMedia({ video: { facingMode: “environment” } })
    카메라가 켜지지 않음

표준 샘플 URL로도 동일 확인 하였습니다.
https://webrtc.github.io/samples/src/content/devices/input-output/

안녕하세요.

카카오톡 인앱브라우저와 같은 웹뷰 환경에서의 카메라 권한은 웹뷰를 제공하는 부모 앱에서 별도로 처리해야 하는데요.

카카오톡 인앱브라우저는 타사 웹뷰와 달리 이에 대한 처리를 제공하고 있지만,
웹뷰 환경에서는 카메라 권한 요청 과정에서 웹페이지 → 웹뷰 → 네이티브 앱 순으로 권한 처리가 이루어지기에 OS 버전이나 단말 환경에 따라 네이티브 앱의 카메라 권한이 정상적으로 승인되었더라도 해당 권한 상태가 웹뷰 및 웹페이지에 연결되지 않는 경우가 발생될 수 있습니다.

이 경우 getUserMedia 호출 시, 별도 오류 없이 계속 대기하게 될 수 있으나
이는 웹뷰 구현상 이슈보다는 OS 영향을 받는 내용으로 해결을 위해서는 페이지를 새로고침 하셔야 합니다.