توفر واجهة برمجة تطبيقات الماسح الضوئي لرمز Google حلاً كاملاً لمسح الرموز البرمجية
بدون أن يطلب تطبيقك إذن الوصول إلى الكاميرا، مع الحفاظ على هوية المستخدم
الخصوصية. يتم تحقيق ذلك بتفويض مهمة مسح التعليمات البرمجية إلى
خدمات Google Play وعرض نتائج الفحص فقط على تطبيقك (الفيديو 1)
تتم كل عمليات معالجة الصور على الجهاز ولا تخزِّن Google النتائج.
أو بيانات الصور. تتيح واجهة برمجة التطبيقات نفس تنسيقات الرموز التي تستخدمها
واجهة برمجة تطبيقات مسح الرمز الشريطي لحزمة تعلّم الآلة وعرض
نفس Barcode
الخاص بك.
إنّ واجهة برمجة التطبيقات هذه مثالية للتطبيقات التي تتطلّب فحص الرموز البرمجية بسلاسة بدون الحاجة إلى ذلك. للحصول على تجربة واجهة مستخدم أو كاميرا مخصصة. يكمن التنفيذ بالكامل في خدمات Google Play، ما يضمن أقل تأثير ممكن في حجم تطبيقك
بدءًا من الإصدار 16.1.0، يمكنك تفعيل التكبير التلقائي للسماح برمز Google ماسح ضوئي لمسح الرموز الشريطية ضوئيًا تلقائيًا والتي تكون بعيدة عن الكاميرا. فعندما يشير المستخدمون إلى رمز شريطي في أجهزتهم، وسيكتشف الماسح الضوئي بذكاء وتكبير الرمز الشريطي. يلغي ذلك الحاجة إلى التكبير/التصغير اليدوي إجراء تعديلات، ما يجعل عملية مسح الرموز الشريطية ضوئيًا أسرع وأكثر دقةً وأسهل في الاستخدام (اطّلِع على الفيديو 2).
الفيديو 1. دمج الماسح الضوئي لرمز Google | الفيديو 2. تأثير التكبير التلقائي |
بالنسبة إلى حالات الاستخدام الأكثر تعقيدًا التي تتطلّب واجهة مستخدم مخصَّصة، ننصحك باستخدام واجهة برمجة تطبيقات مسح الرمز الشريطي لحزمة تعلّم الآلة مباشرةً.
إذا كان لديك أسئلة أو أردت إرسال طلب بشأن خطأ أو كنت بحاجة إلى المساعدة، يُرجى مراجعة صفحة منتدى ML Kit.
قبل البدء
لإعداد تطبيقك، أكمِل الخطوات الواردة في الأقسام التالية.
إعداد تطبيقك
في ملف
settings.gradle
ذي المستوى الأعلى، أضِف مستودع Maven من Google مستودع Maven المركزي في أقل من حظرdependencyResolutionManagement
:dependencyResolutionManagement { repositories { google() mavenCentral() } }
إضافة اعتماد "خدمات Google Play" إلى
play-services-code-scanner
حزمة SDK إلى ملف إنشاء Gradle للوحدة الخاصة بك، والذي يكون عادةًapp/build.gradle
:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
يمكنك ضبط تطبيقك ليتم تفعيل "خدمات Google Play" تلقائيًا. نزِّل وحدة الماسح الضوئي على الجهاز أثناء تثبيت تطبيقك من متجر Play.
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
يمكنك أيضًا التحقّق بشكل صريح من مدى توفّر وحدة الماسح الضوئي وطلب التنزيل من خلال "خدمات Google Play" ModuleInstallClient API.
في حال عدم تفعيل عمليات تنزيل الوحدات في وقت التثبيت أو طلب الحصول على إذن صريح عمليات التنزيل، ولم يتم تثبيت وحدة الماسح الضوئي من قبل في جهاز آخر حالة الاستخدام: تنزِّل "خدمات Google Play" وحدة الماسح الضوئي أولاً ووقت استخدامه.
مسح رمز ضوئيًا
نفِّذ الخطوات التالية لمسح رمز شريطي ضوئيًا.
اختياري: اضبط الماسح الضوئي للرموز.
وإذا عرفت تنسيقات الرمز الشريطي التي تتوقّع أن تقرأها، يمكنك تحسين سرعة كاشف الرمز الشريطي من خلال ضبطه لرصد تلك البيانات فقط والتنسيقات. على سبيل المثال، لاكتشاف رمز Aztec ورموز الاستجابة السريعة فقط، يمكنك إنشاء
GmsBarcodeScannerOptions
كما في المثال التالي:Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build();
يتم إيقاف التكبير/التصغير التلقائي افتراضيًا. لتفعيل وظيفة التكبير/التصغير التلقائي بدءًا من الإصدار 16.1.0، يمكنك طلب
enableAutoZoom()
على النحو الموضَّح في مثال التعليمة البرمجية التالي.Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build();
الحصول على مثال
GmsBarcodeScanner
، كما هو موضح في مثال الرمز:Kotlin
val scanner = GmsBarcodeScanning.getClient(this) // Or with a configured options // val scanner = GmsBarcodeScanning.getClient(this, options)
Java
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this); // Or with a configured options // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
يمكنك طلب فحص الرمز من خلال الاتصال بالرقم
startScan()
.Kotlin
scanner.startScan() .addOnSuccessListener { barcode -> // Task completed successfully } .addOnCanceledListener { // Task canceled } .addOnFailureListener { e -> // Task failed with an exception }
Java
scanner .startScan() .addOnSuccessListener( barcode -> { // Task completed successfully }) .addOnCanceledListener( () -> { // Task canceled }) .addOnFailureListener( e -> { // Task failed with an exception });
ابدأ التعامل مع
Barcode
الناتج.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();