كيفية تنفيذ التعرف على البطاقة المصرفية باستخدام HUAWEI ML Kit

معلومات عامة



في المقالات السابقة ، تحدثنا عن كيفية استخدام HUAWEI ML Kit لإنشاء وظيفة الكشف عن الابتسامة وبرنامج صغير لصور المستندات. في هذه المقالة ، سأوضح لك كيفية تنفيذ ميزة التعرف على البطاقة المصرفية حتى يتمكن المستخدمون من ربط بطاقة مصرفية بأقل استثمار للوقت.







الغرض من وظيفة التعرف على البطاقات المصرفية



قبل أن نبدأ في التطوير ، دعونا نلقي نظرة على الغرض من وظيفة التعرف على البطاقة المصرفية. إنه أكثر ملاءمة للتطبيقات ذات وظائف الدفع مثل التطبيقات المصرفية والمتاجر عبر الإنترنت. غالبًا ما يكون لهذه التطبيقات عدد من المتطلبات المشتركة:



  • ربط بطاقة بنكية


يمكن للمستخدمين ربط بطاقاتهم المصرفية لإجراء مدفوعات سريعة عبر الإنترنت.



  • التحويلات المصرفية


يمكن للمستخدمين تحويل الأموال بين الحسابات في نفس البنك أو بين البنوك المختلفة.



  • المصادقة على الاسم الحقيقي والتحقق من الهوية


يمكن للمستخدمين المصادقة بسرعة مع اسمهم الحقيقي والتحقق من هويتهم بناءً على معلومات بطاقتهم المصرفية.



لاستخدام كل من هذه الخيارات ، يجب على المستخدم إدخال تفاصيل بطاقته المصرفية ، بما في ذلك رقم البطاقة وتاريخ انتهاء الصلاحية. أنت تعلم بالتأكيد أنه من السهل ارتكاب الأخطاء وإضاعة الكثير من الوقت عند إدخال البيانات يدويًا. ولكن بفضل خدمة التعرف على البطاقة المصرفية HUAWEI ML Kit ، سيتمكن المستخدمون من إدخال بياناتهم بسرعة ودون أخطاء.



تطبيق خدمة التعرف على البطاقة المصرفية



تتيح خدمة التعرف على البطاقة المصرفية للكاميرا التعرف على البطاقات المصرفية وقراءة البيانات الأساسية مثل رقم البطاقة وتاريخ انتهاء الصلاحية. مدعومًا بخدمة التعرف على الهوية ، فإنه يوفر عددًا من الميزات الشائعة مثل التحقق من الهوية وإدخال رقم بطاقة الائتمان.







نحن نقدم مكونًا إضافيًا للتعرف على البطاقة المصرفية يمكنك دمجه لجعل هذه الخدمة متاحة في تطبيقك. سيتعامل المكون الإضافي مع بيانات الكاميرا نيابة عنك.



بداية التطوير



1. التحضير



أضف 1.1 مستودع Maven الخاص بشركة Huawei إلى ملف على مستوى المشروع build.gradle

افتح الملف build.gradle في المجلد الجذر لمشروع Android Studio وأضف عنوان مستودع Maven.



buildscript {
    repositories {        
        maven {url 'http://developer.huawei.com/repo/'}
    }    }allprojects {
    repositories {       
        maven { url 'http://developer.huawei.com/repo/'}
    }}


1.2 إضافة تبعيات SDK إلى ملف build.gradle على مستوى التطبيق



dependencies{  
  implementation 'com.huawei.hms:ml-computer-vision-bcr:1.0.3.303' 
  implementation 'com.huawei.hms:ml-computer-card-bcr-plugin:1.0.3.300' 
  implementation 'com.huawei.hms:ml-computer-card-bcr-model:1.0.3.300' }


1.3 تمكين التحديث التلقائي للتطبيق إلى أحدث طراز



لجعل تطبيقك يقوم تلقائيًا بتحديث نموذج التعلم الآلي بعد التنزيل من HUAWEI AppGallery ، أضف البيانات التالية إلى ملف AndroidManifest.xml:



<manifest 
   ... 
   <meta-data              
       android:name="com.huawei.hms.ml.DEPENDENCY"   
       android:value= "bcr"/> 
       <!--If multiple models are required,set the parameter as follows:        
       android:value="object,ocr,face,label,icr,bcr,imgseg"-->  
   ... </manifest>


1.4 طلب حقوق الوصول إلى الكاميرا والذاكرة في ملف AndroidManifest.xml



 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


2. تطوير التعليمات البرمجية



2.1 إنشاء وظائف رد الاتصال التي يتم استدعاؤها بعد استلام نتيجة التعرف.



تجاوز وظائف onSuccess و onCanceled و onFailure و onDenied :



  • onSuccess : تم الاستدعاء بعد اكتمال التعرف. يعرض MLBcrCaptureResult نتيجة التعرف.


  • onCanceled : يتم الاتصال به إذا قام المستخدم بإلغاء التعرف.


  • onFailure : يتم الاتصال به عند فشل التعرف.


  • رفض : يتم الاتصال به إذا تم رفض طلب التعرف لأي سبب (على سبيل المثال ، إذا لم تكن الكاميرا متاحة).


private MLBcrCapture.Callback callback = new MLBcrCapture.Callback() { 
    @Override 
    public void onSuccess(MLBcrCaptureResult bankCardResult){ 
    }  
    @Override 
    public void onCanceled(){ 
    }   
    @Override 
    public void onFailure(int retCode, Bitmap bitmap){ 
    } 
    @Override 
    public void onDenied(){ 
    }   };


2.2 تعيين معلمات التعرف لاستدعاء captureFrame API

لبيانات التعرف على أداة التعرّف يتم إرجاعها بواسطة وظيفة رد الاتصال التي تم إنشاؤها في 2.1.



private void startCaptureActivity(MLBcrCapture.Callback callback) { 
    MLBcrCaptureConfig config = new MLBcrCaptureConfig.Factory()  
        .setOrientation(MLBcrCaptureConfig.ORIENTATION_AUTO) 
        .create(); 
    MLBcrCapture bankCapture = MLBcrCaptureFactory.getInstance().getBcrCapture(config); 
    bankCapture.captureFrame(this, callback); }


2.3 قم باستدعاء الطريقة المحددة في الفقرة 2.2 باستدعاء زر التعرف



@Override 
public void onClick(View v) { 
    switch (v.getId()) {  
        case R.id.detect: 
            startCaptureActivity(callback); 
            break; 
        default: 
            break; 
    } }


جربها بنفسك



دعنا نلقي نظرة على كيفية عمل ميزة التعرف على البطاقة المصرفية.







مصدر



لقد قمنا بتحميل المصدر إلى GitHub ، لذا لا تتردد في إجراء التغييرات.

github.com/HMS-Core/hms-ml-demo

يمكنك زيارة مزيد من التفاصيل



راجع نموذج التعليمات البرمجية للتعرف على البطاقات المصرفية في MLKit-Sample \ module-text \ src \ main \ java \ com \ mlkit \ sample \ activity \ BankCardRecognitionActivity.java.

يرجى زيارة موقعنا الرسمي للحصول على التفاصيل.



أمثلة جديدة



سنشاركك الميزات المفيدة الأخرى لمجموعة HUAWEI ML Kit. ترقب!



All Articles