Liveness (बायोमेट्रिक सेल्फी)
एम्बेडेड liveness सत्यापन के साथ बायोमेट्रिक सेल्फी कैप्चर। SDK उपयोगकर्ता को तब तक मार्गदर्शन करता है जब तक SmartFrames के माध्यम से बायोमेट्रिक रूप से वैध फ्रेम प्राप्त नहीं हो जाता, और छवि को Base64 + JWT के रूप में वापस करता है।
इस कैप्चर प्रकार में Liveness क्षमता का उपयोग होता है। Liveness कैसे काम करता है इसके वैचारिक अवलोकन के लिए, Liveness क्षमता पृष्ठ देखें।
SDK पूरे कैप्चर सत्र का प्रबंधन करता है:
- SmartFrame ओवरले के साथ कैमरा खोलता है।
- उपयोगकर्ता को उनके चेहरे को फ्रेम के भीतर रखने के लिए मार्गदर्शन करता है।
- Liveness को सत्यापित करता है — सत्र केवल तभी पूर्ण होता है जब उपयोगकर्ता शारीरिक रूप से उपस्थित हो।
base64औरencrypted(JWT) के साथ एकSelfieResult(उपनामResultCamera) ऑब्जेक्ट वापस करता है।
SDK में इंटेलिजेंट फ्रेमिंग और स्वचालित कैप्चर डिफ़ॉल्ट रूप से सक्षम हैं। अपने builder में कैमरा मोड को इस प्रकार कॉन्फ़िगर करें:
- Swift
- Objective-C
unicoCheck.setSmartFrame(true)
unicoCheck.setAutoCapture(true)
[unicoCheck setSmartFrame:true];
[unicoCheck setAutoCapture:true];
चरण 1 — AcessoBioManagerDelegate लागू करें
AcessoBioManagerDelegate SDK lifecycle callbacks को संभालता है। चार अनिवार्य विधियां लागू करें:
| विधि | जब यह कॉल की जाती है |
|---|---|
onErrorAcessoBioManager(error) | SDK संचालन के दौरान त्रुटि हुई |
onUserClosedCameraManually() | उपयोगकर्ता ने मैन्युअल रूप से कैमरा बंद किया |
onSystemClosedCameraTimeoutSession() | 40-सेकंड session सीमा पहुंच गई |
onSystemChangedTypeCameraTimeoutFaceInference() | 13 सेकंड तक कोई चेहरा नहीं पहचाना — manual capture पर स्विच |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!
override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}
func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
@implementation ViewController: UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}
- (void)onErrorAcessoBioManager:(ErrorBio *)error { }
- (void)onSystemChangedTypeCameraTimeoutFaceInference { }
- (void)onSystemClosedCameraTimeoutSession { }
- (void)onUserClosedCameraManually { }
@end
ऊपर की सभी चार delegate विधियां आपके project में बनाई जानी च ाहिए (चाहे बिना किसी logic के भी)। अन्यथा, project सफलतापूर्वक compile नहीं होगा।
चरण 2 — SelfieCameraDelegate और AcessoBioSelfieDelegate लागू करें
ये delegates सेल्फी कैप्चर परिणाम callbacks को संभालते हैं:
| विधि | विवरण |
|---|---|
onSuccessSelfie(result) | कैप्चर सफल रहा — base64 (पूर्वावलोकन) और encrypted (API के लिए JWT) के साथ SelfieResult वापस करता है |
onErrorSelfie(errorBio) | कैप्चर विफल रहा — कोड और विवरण के साथ एक ErrorBio वापस करता है |
encrypted उत्पन्न करने और इसे API को सबमिट करने के बीच का अंतराल 10 मिनट से अधिक नहीं होना चाहिए।
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {
func onSuccessSelfie(_ result: SelfieResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
// .h
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate> {
AcessoBioManager *unicoCheck;
}
// .m
- (void)onSuccessSelfie:(SelfieResult *)result {
NSLog(@"%@", result.base64);
}
- (void)onErrorSelfie:(ErrorBio *)errorBio { }
चरण 3 — prepareSelfieCamera और open कॉल करें
SDK कॉन्फ़िग पास करते हुए prepareSelfieCamera कॉल करें। जब कैमरा तैयार हो, onCameraReady इवेंट एक AcessoBioCameraOpenerDelegate के साथ ट्रिगर होता है — open() विधि के माध्यम से कैमरा खोलें:
onCameraReady(cameraOpener)— कैमरा तैयार है;open(self)कॉल करें।onCameraFailed(message)— कैमरा तैयारी विफल रही (ErrorPrepare,ErrorBioका एक विस्तार है)।
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}
func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self)
}
func onCameraFailed(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReady:(id)cameraOpener {
[cameraOpener open:self];
}
- (void)onCameraFailed:(ErrorPrepare *)message { }
prepareSelfieCamera विधि एक ओवरलोड प्रदान करती है जो उपयोगकर्ता सत्र और प्रवाह की पहचान करने में सहायता के लिए PrepareInfo के माध्यम से मेटाडेटा स्वीकार करती है:
externalUserId(String, आवश्यक) — आपके सिस्टम में उपयोगकर्ता पहचानकर्ता। ट्रांसमिशन से पहले SHA-256 का उपयोग करके स्वचालित रूप से हैश किया जाता है।useCase(String, वैकल्पिक) — वर्तमान में चल रहे संदर्भ या प्रवाह के लिए पहचानकर्ता (उदाहरण,"account_opening","password_recovery")। सादे पाठ में प्रेषित।
- Swift
- Objective-C
let prepareInfo = PrepareInfo(
externalUserId: "external_user_id",
useCase: "use_case"
)
unicoCheck.build().prepareSelfieCamera(
self,
config: YourUnicoConfigClass(),
prepareInfo: prepareInfo
)
PrepareInfo *prepareInfo = [[PrepareInfo alloc]
initWithExternalUserId:@"external_user_id" useCase:@"flow_id"];
[[unicoCheck build] prepareSelfieCamera:self
config:[YourUnicoConfigClass new]
prepareInfo:prepareInfo];
पूर्ण परिणाम हैंडलिंग के लिए, परिणाम प्राप्त करना देखें।