The controls in the red area (LivenessView) must be square, with the width and position adjustable.
Please do not overlay a mask layer on the controls in the red area (LivenessView).
Aside from that, all other page elements can be customized.
build.gradle file of your app module to ensure that other languages are ignored when packaging the APK.android {defaultConfig {...resConfigs("in-rID") // For example, only Indonesian is supported}}
values-in-rID folder to the values directory to replace the English resources.No, itβs not necessary. The SDK has built-in consumer roles.
A string that can identify the current liveness event. Recommended values: user ID, username, device ID, transaction number.
Yes, the distant-near liveness does not have voice prompts
To reduce the number of network requests, the license validity check is performed locally on the phone based on the current phone time and the license expiration time. This issue is usually caused by the user's phone time being inaccurate.
Suggestions:
It depends on the camera performance, there is no specific value. It is recommended to use relevant tools for detection.
AAI is not responsible for storing video files, it only supports obtaining the liveness video through the SDK. Please transmit the video properly and delete the video file on the phone according to your business needs.
Use the corresponding nd version of the core dependency:οΌHere, we take version 5.8 of the core as an example. In fact, each version of the core has a corresponding ND version, and you should choose the core that matches the current Liveness SDK version.οΌ
implementation 'ai.advance.mobile-sdk.android:core:5.8.nd'The billing point for liveness occurs when the livenessId is generated. Calling the score retrieval interface does not affect billing.
livenessId is generated after the SDK successfully uploads image information to the backend. Therefore, if the user clicks the back button to leave the page before the upload is complete, the SDK will return the error code UPLOAD_PICTURE_GIVE_UP. Meanwhile, the network request may still be ongoing, leading to a discrepancy in the livenessId reconciliation. Another possible scenario is that we successfully return the livenessId to your app, but due to unknown reasons, the app fails to report the livenessId to your backend, which can also cause reconciliation issues.
Yes, the SDK configs provide a method: setSignatureId. You can set the signatureId before each detection starts. This ID is functionally equivalent to livenessId and can be used to query liveness results. Any signatureId with results will be chargeable.
For information on the generation of SignatureId, please refer to the relevant backend API documentation.
livenessType refers to your liveness scenarios, allowing you to configure different liveness modes for various situations. You need to contact us to add the desired livenessType. If an unconfigured livenessType is used, it will return a MODEL_ERROR, and the message will indicate the reason for the error.
Yes, the eventId is very important. It is a key field used for reporting issues to us. Without this ID, it will be difficult to troubleshoot problems, so please make sure to save it.
Yes, the SDK package size mainly resides in the .so files and model files. We support removing the dependency on the model file module, which can reduce the size by 1.4MB. When performing liveness detection for the first time, the SDK will pull the model files from a remote source.
implementation ('ai.advance.mobile-sdk.android:liveness-detection:x.x.x'){ exclude group: 'ai.advance.mobile-sdk.android', module: 'liveness-detection-model'}