문서 캡처
신분증 문서 캡처. SDK가 사용자의 문서 위치를 안내하는 프레임을 제공하며, 위치를 잡은 후 사용자가 버튼을 클릭하여 사진을 캡처합니다.
콘텐츠 유효성 검사 없음
SDK는 캡처되는 내용에 대한 어떠한 유형의 유효성 검사도 수행하지 않습니다.
사용 가능한 문서 프레임
| 프레임 | 설명 |
|---|---|
DocumentCameraTypes.CPF | CPF 캡처 |
DocumentCameraTypes.CNH | 펼쳐진 CNH 캡처 |
DocumentCameraTypes.CNH_FRENTE | CNH 앞면 캡처 |
DocumentCameraTypes.CNH_VERSO | CNH 뒷면 캡처 |
DocumentCameraTypes.RG_FRENTE | RG 앞면 캡처 |
DocumentCameraTypes.RG_VERSO | RG 뒷면 캡처 |
DocumentCameraTypes.OUTROS("descrição") | 다른 문서를 위한 범용 프레임 |
범용 프레임
특정 프레임이 없는 문서를 캡처해야 하는 경우(예: RNE), DocumentCameraTypes.OUTROS("description")을 사용하세요 — 모든 캡처를 안내하는 데 사용할 수 있는 범용 직사각형 프레임입니다.
지원되는 문서 유형의 전체 목록은 API 레퍼런스 > Enums를 참조하세요.
문서 캡처 시작하기
1단계 — UnicoListener 구현
UnicoListener는 SDK 수명 주기 콜백을 처리합니다. 네 가지 필수 메서드를 구현하세요:
| 메서드 | 호출 시점 |
|---|---|
onErrorUnico(error) | SDK 작동 중 오류 발생 시 |
onUserClosedCameraManually() | 사용자가 카메라를 수동으로 닫을 때 |
onSystemClosedCameraTimeoutSession() | 40초 세션 제한에 도달했을 때 |
onSystemChangedTypeCameraTimeoutFaceInference() | 13초 동안 얼굴이 감지되지 않아 수동 캡처로 전환될 때 |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
필수 리스너 메서드
위의 네 가지 리스너 메서드는 프로젝트에 반드시 생성해야 합니다 (로직이 없어도 됩니다). 그렇지 않으면 프로젝트가 성공적으로 컴파일되지 않습니다.
2단계 — 문서 리스너 구현
상태 클래스에 문서 콜백을 추가합니다:
| 메서드 | 설명 |
|---|---|
onSuccessDocument(ResultCamera resultCamera) | 캡처 성공 — base64(미리보기)와 encrypted(API용 JWT)가 포함된 ResultCamera 반환 |
onErrorDocument(UnicoError error) | 캡처 실패 — 코드와 설명이 포함된 UnicoError 반환 |
@override
void onSuccessDocument(ResultCamera resultCamera) { }
@override
void onErrorDocument(UnicoError error) { }
3단계 — openCameraDocument 호출
openCameraDocument() 메서드는 UnicoCheck 클래스의 인스턴스로 생성된 객체를 통해 제공됩니다. 다음을 인자로 받습니다:
- 자격 증명 설정 단계에서 생성된 자격 증명이 담긴 JSON 파일;
- 캡처할 문서 유형(
DocumentType열거형); - 2단계에서 구성된 리스너.
펼쳐진 CNH를 사용하는 예시:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
전체 결과 처리 방법은 결과 수신을 참조하세요.