Liveness (बायोमेट्रिक सेल्फी)
एम्बेडेड liveness सत्यापन के साथ बायोमेट्रिक सेल्फी कैप्चर। SDK उपयोगकर्ता को तब तक गाइड करता है जब तक SmartFrames के माध्यम से बायोमेट्रिक रूप से वैध फ्रेम प्राप्त नहीं हो जाता और छवि को Base64 + JWT के रूप में लौटाता है।
यह कैप्चर प्रकार Liveness क्षमता का उपयोग करता है। Liveness कैसे काम करता है इसके वैचारिक अवलोकन के लिए, Liveness क्षमता पेज देखें।
SDK पूर्ण कैप्चर सेशन प्रबंधित करता है:
- SmartFrame ओवरले के साथ कैमरा खोलता है।
- उपयोगकर्ता को फ्रेम के भीतर अपना चेहरा रखने के लिए गाइड करता है।
- Liveness सत्यापित करता है — सेशन तभी पूरा होता है जब उपयोगकर्ता भौतिक रूप से उपस्थित हो।
successकॉलबैक के माध्यम सेbase64(प्रीव्यू) औरencrypted(API के लिए JWT) के साथ एक ऑब्जेक्ट लौटाता है।
Web SelfieCameraTypes के माध्यम से दो कैमरा मोड उजागर करता है:
SelfieCameraTypes.NORMAL— स्टैंडर्ड कैमरा मोड (मैन्युअल कैप्चर)।SelfieCameraTypes.SMART— स्वचालित कैप्चर और सिल्हू ट गाइडेंस के साथ स्मार्ट कैमरा मोड।
SMART का उपयोग करते समय, आपको इनिशियलाइज़ेशन के दौरान setModelsPath के माध्यम से कंप्यूटर विज़न मॉडल भी लोड करने होंगे।
चरण 1 — callback ऑब्जेक्ट लागू करें
Web SDK open() को पास किए गए callback ऑब्जेक्ट का उपयोग success और error इवेंट को संभालने के लिए करता है। दोनों हैंडलर अनिवार्य हैं:
| हैंडलर | कब कॉल होता है |
|---|---|
on.success(obj) | कैप्चर सफलतापूर्वक पूरा हुआ — base64 और encrypted के साथ एक ऑब्जेक्ट प्राप्त करता है |
on.error(error) | सेशन के दौरान एक त्रुटि हुई — एक ErrorBio प्राप्त करता है |
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
callback ऑब्जेक्ट अनिवार्य है। यदि ठीक से लागू नहीं किया गया (दोनों success और error इवेंट कवर करते हुए), तो SDK एक अपवाद उठाता है जो, यदि संभाला नहीं गया, उपयोगकर्ता के कंसोल में प्रदर्शित होता है।
चरण 2 — कैमरा बनाएं और selfie सेशन तैयार करें
कैमरा इंस्टेंस बनाएं और prepareSelfieCamera कॉल करें, UnicoConfig और वांछित SelfieCameraTypes पास करते हुए:
encrypted उत्पन्न करने और इसे API को सबमिट करने के बीच का अंतराल 10 मिनट से अधिक नहीं होना चाहिए।
const unicoCamera = unicoCameraBuilder.build();
const config = new UnicoConfig()
.setHostname("<YOUR_HOSTNAME>")
.setHostKey("<YOUR_HOST_KEY>");
unicoCamera.prepareSelfieCamera(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
कैमरा स्टार्टअप को अनुकूलित करने के लिए, आप prepareSelfieCamera() और open() को अलग कर सकते हैं — जबकि उपयोगकर्ता कैप्चर स्क्रीन पर नेविगेट करता है तब prepare चरण को तैयार रखते हुए।
चरण 3 — (वैकल्पिक) iFrame के अंदर उपयोग करें
Web SDK prepareSelfieCameraForIFrame() के माध्यम से iFrame में एम्बेडेड Interactive Liveness का समर्थन करता है:
unicoCamera.prepareSelfieCameraForIFrame(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
आवश्यक अनुमतियों के साथ <iframe> तत्व लागू करें:
<iframe allow="fullscreen;camera;geolocation" allowFullScreen src="your_app_url"></iframe>
prepareSelfieCameraForIFrame() केवल iFrame के अंदर काम करता है — iFrame के बाहर इसे कॉल करने पर सत्र विफल हो जाएगा। इसी तरह, iFrame के अंदर prepareSelfieCamera() का उपयोग करने पर भी त्रुटि 73406 होती है।
कैप्चर करने के लिए, पेज को full-screen मोड में होना चाहिए ताकि SDK स्वचालित रूप से आकार बदल सके। Apple विशेष रूप से iPhones पर full-screen API के उपयोग को प्रतिबंधित करता है (iPads स्वीकार्य हैं)। iPhones पर कैप्चर के लिए, iFrame की स्थिति मैन्युअली कॉन्फ़िगर करें।
iFrame संदर्भ में दो त्रुटि कोड सक्रिय हो सकते हैं: 73406 तब सक्रिय होता है जब कैमरा इनिशियलाइज़ेशन ब्लॉक हो जाता है क्योंकि prepareSelfieCamera() को iFrame के अ ंदर कॉल किया गया — इसके बजाय prepareSelfieCameraForIFrame() का उपयोग करें; 73724 तब सक्रिय होता है जब सक्रिय सेशन रद्द हो जाता है क्योंकि कैमरा सेशन iFrame के अंदर शुरू हुआ। पूर्ण कैटलॉग के लिए त्रुटि प्रबंधन देखें।
पूर्ण रिजल्ट हैंडलिंग के लिए, परिणाम प्राप्त करना देखें।