التقاط المستندات
التقاط وثائق الهوية. يعرض SDK إطارًا لمساعدة المستخدم في تحديد موضع المستند؛ بعد التحديد، ينقر المستخدم على الزر لالتقاط الصورة.
لا يُجري SDK أي نوع من التحقق على ما يتم التقاطه.
| الإطار | الوصف |
|---|---|
DocumentCameraTypes.CPF | التقاط CPF |
DocumentCameraTypes.CNH | التقاط CNH المفتوح |
DocumentCameraTypes.CNH_FRENTE | التقاط الوجه الأمامي للـ CNH |
DocumentCameraTypes.CNH_VERSO | التقاط الوجه الخلفي للـ CNH |
DocumentCameraTypes.RG_FRENTE | التقاط الوجه الأمامي للـ RG |
DocumentCameraTypes.RG_VERSO | التقاط الوجه الخلفي للـ RG |
DocumentCameraTypes.OUTROS("descrição") | إطار عام لأي مستند آخر |
إذا كنت بحاجة إلى التقاط مستند لا يوجد له إطار محدد (مثل RNE)، استخدم DocumentCameraTypes.OUTROS("description") — إطار مستطيل عام يمكن استخدامه لتوجيه أي عملية التقاط.
للاطلاع على القائمة الكاملة لأنواع المستندات المدعومة، راجع مرجع API > التعدادات.
الخطوة 1 — تنفيذ UnicoListener
يتولى UnicoListener معالجة استدعاءات دورة حياة SDK. نفِّذ الأساليب الأربعة الإلزامية:
| الأسلوب | متى يُستدعى |
|---|---|
onErrorUnico(error) | حدث خطأ أثناء تشغيل SDK |
onUserClosedCameraManually() | أغلق المستخدم الكاميرا يدوياً |
onSystemClosedCameraTimeoutSession() | تم الوصول إلى حد الجلسة البالغ 40 ثانية |
onSystemChangedTypeCameraTimeoutFaceInference() | لم يُكتشف أي وجه لمدة 13 ثانية — ينتقل إلى الالتقاط اليدوي |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
يجب إنشاء جميع أساليب المستمع الأربعة أعلاه في مشروعك (حتى بدون أي منطق). وإلا، لن يتم تجميع المشروع بنجاح.
الخطوة 2 — تنفيذ مستمعات المستند
أضف callbacks المستند إلى فئة الحالة الخاصة بك:
| الطريقة | الوصف |
|---|---|
onSuccessDocument(ResultCamera resultCamera) | نجح الالتقاط — يُعيد ResultCamera مع base64 (معاينة) وencrypted (JWT لواجهة API) |
onErrorDocument(UnicoError error) | فشل الالتقاط — يُعيد UnicoError مع الرمز والوصف |
@override
void onSuccessDocument(ResultCamera resultCamera) { }
@override
void onErrorDocument(UnicoError error) { }
الخطوة 3 — استدعاء openCameraDocument
يتم توفير طريقة openCameraDocument() عبر الكائن المُنشأ من نسخة فئة UnicoCheck. تأخذ:
- ملف JSON يحتوي على بيانات الاعتماد، مُنشأ في خطوة إعداد بيانات الاعتماد؛
- نوع المستند المراد التقاطه (تعداد
DocumentType)؛ - المستمع المُهيأ في الخطوة 2.
مثال باستخدام CNH المفتوح:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
للاطلاع على معالجة النتيجة الكاملة، راجع استلام النتيجة.