Liveness (बायोमेट्रिक सेल्फी)
एम्बेडेड liveness सत्यापन के साथ बायोमेट्रिक सेल्फी कैप्चर। SDK SmartFrames के माध्यम से उपयोगकर्ता को तब तक guide करता है जब तक बायोमेट्रिक रूप से वैध फ्रेम प्राप्त न हो जाए और छवि को Base64 + JWT के रूप में लौटाता है।
यह कैप्चर प्रकार Liveness क्षमता का उपयोग करता है। Liveness कैसे काम करता है इसके वैचारिक अवलोकन के लिए, Liveness capability पृष्ठ देखें।
Plugin अंतर्निहित native SDK को delegate करता है:
- Plugin SmartFrame overlay के साथ कैमरा खोलता है (Android या iOS)।
- Native SDK उपयोगकर्ता को frame के अंदर अपना चेहरा स्थित करने के लिए guide करता है।
- Liveness validate करता है — session केवल तभी पूरा होता है जब उपयोगकर्ता शारीरिक रूप से उपस्थित हो।
- Platform channel के माध्यम से
base64औरencrypted(JWT) के साथResultCameraobject लौटाता है।
SDK में intelligent framing और automatic capture डिफ़ॉल्ट रूप से सक्षम हैं । निम्नानुसार अपने builder में camera mode configure करें:
UnicoCheckCameraOpener _opener = _unicoCheck
.setAutoCapture(autoCapture: true)
.setSmartFrame(smartFrame: true)
.build();
चरण 1 — UnicoListener लागू करें
UnicoListener SDK lifecycle callbacks को संभालता है। चार अनिवार्य विधियां लागू करें:
| विधि | जब यह कॉल की जाती है |
|---|---|
onErrorUnico(error) | SDK संचालन के दौरान त्रुटि हुई |
onUserClosedCameraManually() | उपयोगकर्ता ने मैन्युअल रूप से कैमरा बंद किया |
onSystemClosedCameraTimeoutSession() | 40-सेकंड session सीमा पहुंच गई |
onSystemChangedTypeCameraTimeoutFaceInference() | 13 सेकंड तक कोई चेहरा नहीं पहचाना — manual capture पर स्विच |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
ऊपर की सभी चार listener विधियां आपके project में बनाई जानी चाहिए (चाहे बिना किसी logic के भी)। अन्यथा, project सफलतापूर्वक compile नहीं होगा।
चरण 2 — UnicoSelfie पर selfie listeners लागू करें
अपने state class में selfie callbacks जोड़ें:
| विधि | विवरण |
|---|---|
onSuccessSelfie(ResultCamera result) | Capture सफल — base64 (preview) और encrypted (API के लिए JWT) के साथ ResultCamera लौटाता है |
onErrorSelfie(UnicoError error) | Capture विफल — code और description के साथ UnicoError लौटाता है |
encrypted generate करने और उसे API पर submit करने के बीच का अंतराल 10 मिनट से अधिक नहीं होना चाहिए।
class _MyHomePageState extends State<MyHomePage>
implements UnicoSelfie {
@override
void onSuccessSelfie(ResultCamera result) { }
@override
void onErrorSelfie(UnicoError error) { }
}
चरण 3 — openCameraSelfie कॉल करें
openCameraSelfie विधि कैमरा खोलती है। यह UnicoSelfie listener का implementation लेती है:
_opener.openCameraSelfie(listener: this);
openCameraSelfie विधि एक overload प्रदान करती है जो उपयोगकर्ता session और flow की पहचान करने में सहायता के लिए UnicoCheckPrepareInfo के माध्यम से metadata स्वीकार करती है:
externalUserId(String, आवश्यक) — आपके सिस्टम में उपयोगकर्ता पहचानकर्ता। Transmission से पहले SHA-256 का उपयोग करके स्वचालित रूप से hashed।useCase(String, वैकल्पिक) — वर्तमान में चल रहे context या flow के लिए पहचानकर्ता। Plain text में transmitted।
_opener.openCameraSelfie(
listener: this,
prepareInfo: UnicoCheckPrepareInfo(
externalUserId: 'external_user_id',
useCase: 'use_case', // optional
),
);
पूर्ण result handling के लिए, परिणाम प्राप्त करना देखें।