تركز الموارد العامة على أنماط تكامل قابلة للتكرار. تبقى SDK والبرامج الثابتة ووثائق المصنع المقيدة ضمن القنوات المعتمدة.
أدلة قابلة للمقارنة مع الطريقة والإصدار والقيود.
- تطبيق Android يحتوي على سير عمل واحد يحتاج إلى نتيجة رمز شريطي.
- تم تحديد النموذج المستهدف الدقيق، Android ، والجهاز المعتمد SDK.
- قرار بشأن الإسفين أو النية أو النقل المباشر SDK ؛ لا تخلطهم عن طريق الخطأ.
معيار النشر
أنشئ تكاملات Android مؤسسية بأدلة محددة الإصدار.
تركز الموارد العامة على أنماط تكامل قابلة للتكرار. تبقى 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
بوابة النشر
لا تُنشر ملفات المصنع أو البرامج الثابتة أو الأمثلة قبل تسجيل إذن التوزيع.
قم بإرجاع خطأ في الإدخال واحتفظ بسير العمل متاحًا لإجراء فحص آخر.
إلغاء التكرارات بواسطة مفتاح حدث قصير الأجل؛ لا تقم مطلقًا بتلقي المخزون المزدوج بصمت.
أوقف العملية الحالية، وأظهر الحالة القابلة للاسترداد، واسمح بإعادة المحاولة الخاضعة للتحكم.
توقف أو توقف مؤقتًا وفقًا لعقد سير العمل، ثم أعد التسجيل بأمان عند السيرة الذاتية.
حالات الدليل
أدلة قابلة للمقارنة مع الطريقة والإصدار والقيود.
- 01
نموذج التسجيل وخيار الماسح الضوئي وإصدار Android والبرامج الثابتة وإصدار SDK.
- 02
أجرِ اختبارات التشغيل البارد، وتكرار البدء والإيقاف، والعمل في الخلفية والاستئناف، والإلغاء.
- 03
استخدم الرمز 128، وتصنيفًا تالفًا، ومشغلًا فارغًا، ورمزًا واحدًا غير مدعوم.
- 04
تأكد من عدم كتابة أي بيانات مسح أولية أو معرف العميل في السجلات العادية.
الموارد
أنماط SDK وAPI
لا تُنشر ملفات المصنع أو البرامج الثابتة أو الأمثلة قبل تسجيل إذن التوزيع.