공개 자료는 재현 가능한 통합 패턴에 집중하며 제한된 제조사 SDK는 승인된 배포 경로에 둡니다.
방법, 버전과 한계를 포함한 비교 가능한 장치 근거.
- 바코드 결과가 필요한 하나의 워크플로가 있는 Android 앱입니다.
- 정확한 대상 모델인 Android 빌드와 승인된 장치 SDK 가 식별되었습니다.
- 웨지, 의도 또는 직접 SDK 운송에 대한 결정입니다. 실수로 섞지 마십시오.
게시 기준
버전별 근거로 기업용 Android 통합을 구축하고 검증하세요.
공개 자료는 재현 가능한 통합 패턴에 집중하며 제한된 제조사 SDK는 승인된 배포 경로에 둡니다.
- 01
워크플로우에 대한 전송을 선택하십시오
집중된 형태에 빠른 개조가 필요한 경우 웨지를 사용하십시오. 애플리케이션이 이벤트를 소유할 때 명시적인 인텐트나 콜백을 사용하세요. 비즈니스 화면이 공급업체 유형에 좌우되지 않도록 작은 어댑터 뒤에만 직접 장치 API 를 사용하세요.
- 02
애플리케이션이 소유한 이벤트 정의
디코딩된 텍스트, 원시 바이트, 기호 및 수신 시간을 함께 유지합니다. 전송 페이로드를 신뢰할 수 없는 입력으로 처리하고 누락되거나 크기가 크거나 디코딩할 수 없는 데이터가 인벤토리 로직에 도달하기 전에 거부합니다.
- 03
하나의 소유자로 열고, 듣고, 시작하고 중지하세요.
디코드를 시작하기 전에 결과 경로를 등록하세요. 한 번만 시작하고 워크플로가 끝나면 중지하며 백그라운드, 취소 및 오류를 포함한 모든 종료 경로에서 장치 리소스를 닫습니다.
- 04
불행한 길을 증명하라
빈 페이로드, 중복 결과, 시간 초과, 지원되지 않는 기호, 화면 재개 및 스캐너 옵션이 없는 장치를 테스트합니다. 한 장치의 녹색 스캔이 모든 구성에 대한 호환성을 나타내는 것은 아닙니다.
샘플 앱 / Kotlin
SDK 및 API 패턴
원래 어댑터 패턴. 개인 Android 프로젝트의 승인된 장치 SDK에 CapturePort를 바인딩합니다.
data class CaptureEvent(
val value: String,
val symbology: String?,
val capturedAt: Instant,
)
interface CapturePort {
fun open()
fun start()
fun stop()
fun close()
fun setListener(listener: (CaptureEvent) -> Unit)
}
class ScanWorkflow(private val scanner: CapturePort) {
private var active = false
fun begin(onCapture: (CaptureEvent) -> Unit) {
if (active) return
scanner.open()
scanner.setListener(onCapture)
scanner.start()
active = true
}
fun end() {
if (!active) return
runCatching { scanner.stop() }
runCatching { scanner.close() }
active = false
}
}SDK 배포
게시 기준
재배포 권한과 지원 범위가 기록되기 전에는 제조사 바이너리, 펌웨어 또는 샘플을 공개하지 않습니다.
입력 오류를 반환하고 워크플로를 다른 스캔에 사용할 수 있도록 유지합니다.
단기 이벤트 키로 중복을 제거합니다. 절대로 자동으로 재고를 이중으로 받지 마십시오.
현재 작업을 중지하고 복구 가능한 상태를 표시하며 제어된 재시도를 허용합니다.
워크플로 계약에 따라 중지하거나 일시 중지한 후 재개 시 안전하게 다시 등록하세요.
근거 상태
방법, 버전과 한계를 포함한 비교 가능한 장치 근거.
- 01
모델, 스캐너 옵션, Android 빌드, 펌웨어 및 SDK 릴리스를 기록합니다.
- 02
콜드 스타트, 반복 시작/stop, background/resume 및 취소 테스트를 실행합니다.
- 03
코드 128, 손상된 라벨, 빈 트리거 및 지원되지 않는 기호 1개를 사용하세요.
- 04
원시 스캔 데이터나 고객 식별자가 일반 로그에 기록되지 않았는지 확인합니다.
자료
SDK 및 API 패턴
재배포 권한과 지원 범위가 기록되기 전에는 제조사 바이너리, 펌웨어 또는 샘플을 공개하지 않습니다.