เนื้อหาทางเทคนิคเป็นหัวใจของ RuggedLayer แหล่งข้อมูลสาธารณะแสดงรูปแบบการเชื่อมต่ออุปกรณ์ที่ทำซ้ำได้และหลักฐานที่ต้องใช้เพื่อพาแอปเดิมไปสู่การใช้งานจริง ส่วน SDK ที่มีข้อจำกัดจะอยู่ในช่องทางแจกจ่ายที่ได้รับอนุมัติ
หลักฐานอุปกรณ์ที่เปรียบเทียบได้ พร้อมวิธีทดสอบ เวอร์ชัน และข้อจำกัด
- แอป Android ที่มีเวิร์กโฟลว์เดียวที่ต้องการผลลัพธ์บาร์โค้ด
- มีการระบุโมเดลเป้าหมายที่แน่นอน Android และอุปกรณ์ที่ได้รับอนุมัติ SDK
- การตัดสินใจเกี่ยวกับลิ่ม เจตนา หรือการขนส่งโดยตรง SDK อย่าผสมพวกมันโดยบังเอิญ
มาตรฐานการเผยแพร่
สร้างและตรวจสอบการเชื่อมต่อ Android สำหรับองค์กรด้วยหลักฐานตามเวอร์ชัน
เนื้อหาทางเทคนิคเป็นหัวใจของ RuggedLayer แหล่งข้อมูลสาธารณะแสดงรูปแบบการเชื่อมต่ออุปกรณ์ที่ทำซ้ำได้และหลักฐานที่ต้องใช้เพื่อพาแอปเดิมไปสู่การใช้งานจริง ส่วน SDK ที่มีข้อจำกัดจะอยู่ในช่องทางแจกจ่ายที่ได้รับอนุมัติ
- 01
เลือกการขนส่งสำหรับเวิร์กโฟลว์
ใช้ลิ่มเมื่อแบบฟอร์มเฉพาะต้องการการปรับปรุงใหม่อย่างรวดเร็ว ใช้เจตนาที่ชัดเจนหรือการติดต่อกลับเมื่อแอปพลิเคชันเป็นเจ้าของกิจกรรม ใช้อุปกรณ์โดยตรง API ด้านหลังอะแดปเตอร์ขนาดเล็กเท่านั้น ดังนั้นหน้าจอธุรกิจจึงไม่ขึ้นอยู่กับประเภทของผู้จำหน่าย
- 02
กำหนดเหตุการณ์ที่แอปพลิเคชันของคุณเป็นเจ้าของ
เก็บข้อความที่ถอดรหัส ไบต์ดิบ สัญลักษณ์วิทยา และเวลาที่ได้รับไว้ด้วยกัน ถือว่าเพย์โหลดการขนส่งเป็นอินพุตที่ไม่น่าเชื่อถือ และปฏิเสธข้อมูลที่หายไป มีขนาดใหญ่เกินไป หรือไม่สามารถถอดรหัสได้ก่อนที่จะถึงลอจิกสินค้าคงคลัง
- 03
เปิด ฟัง เริ่ม และหยุดในเจ้าของคนเดียว
ลงทะเบียนเส้นทางผลลัพธ์ก่อนที่จะเริ่มถอดรหัส เริ่มต้นเพียงครั้งเดียว หยุดเมื่อเวิร์กโฟลว์สิ้นสุด และปิดทรัพยากรอุปกรณ์จากทุกเส้นทางออก รวมถึงพื้นหลัง การยกเลิก และข้อผิดพลาด
- 04
พิสูจน์เส้นทางที่ไม่มีความสุข
ทดสอบเพย์โหลดว่าง ผลลัพธ์ที่ซ้ำกัน หมดเวลา สัญลักษณ์ที่ไม่รองรับ ประวัติหน้าจอ และอุปกรณ์ที่ไม่มีตัวเลือกเครื่องสแกน การสแกนสีเขียวบนอุปกรณ์ตัวเดียวไม่ใช่คำชี้แจงความเข้ากันได้สำหรับทุกการกำหนดค่า
แอปตัวอย่าง / Kotlin
รูปแบบ SDK และ API
รูปแบบอะแดปเตอร์ดั้งเดิม ผูก CapturePort กับอุปกรณ์ที่ได้รับอนุมัติ SDK ในโปรเจ็กต์ส่วนตัว Android ของคุณ
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
เงื่อนไขการเผยแพร่
จะไม่เผยแพร่ไบนารี เอกสาร API, firmware หรือซอร์สตัวอย่างของผู้ขายจนกว่าจะบันทึกสิทธิ์แจกจ่ายต่อและขอบเขตที่รองรับ
ส่งคืนข้อผิดพลาดอินพุตและเก็บเวิร์กโฟลว์ไว้สำหรับการสแกนครั้งอื่น
ทำซ้ำด้วยคีย์เหตุการณ์ที่มีอายุสั้น ไม่เคยรับสินค้าคงคลังซ้ำซ้อน
หยุดการดำเนินการปัจจุบัน แสดงสถานะที่สามารถกู้คืนได้ และอนุญาตให้ลองอีกครั้งโดยมีการควบคุม
หยุดหรือหยุดชั่วคราวตามสัญญาเวิร์กโฟลว์ จากนั้นลงทะเบียนใหม่อย่างปลอดภัยในประวัติย่อ
วิธีประเมินหลักฐาน
หลักฐานอุปกรณ์ที่เปรียบเทียบได้ พร้อมวิธีทดสอบ เวอร์ชัน และข้อจำกัด
- 01
โมเดลบันทึก, ตัวเลือกสแกนเนอร์, บิลด์ Android, เฟิร์มแวร์ และการเปิดตัว SDK
- 02
ทดสอบการเริ่มระบบแบบเย็น การเริ่ม/หยุดซ้ำ การทำงานเบื้องหลัง/การทำงานต่อ และการยกเลิก
- 03
ใช้โค้ด 128 ป้ายกำกับที่เสียหาย ทริกเกอร์ว่างเปล่า และสัญลักษณ์ที่ไม่รองรับหนึ่งรายการ
- 04
ยืนยันว่าไม่มีการเขียนข้อมูลการสแกนดิบหรือตัวระบุลูกค้าลงในบันทึกทั่วไป
แหล่งข้อมูล
รูปแบบ SDK และ API
จะไม่เผยแพร่ไบนารี เอกสาร API, firmware หรือซอร์สตัวอย่างของผู้ขายจนกว่าจะบันทึกสิทธิ์แจกจ่ายต่อและขอบเขตที่รองรับ