Change the dependency version number to3.4.1
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.1'
}
targetSdk
upgraded to 34.Change the dependency version number to3.4.0
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.0'
}
Change the dependency version number to3.3.1
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.1'
}
Fixed warnings from some detection platforms on VirusTotal.
The Liveness SDK is falsely reported as containing viruses by some platforms on VirusTotal . If your app promotion relies on VirusTotal 's detection results, it is recommended that you upgrade to this version
aai.liveness.**
LivenessView
the name of , when integrating 3.3.0, please revert the name of this class toLivenessView
The performance of the livenesss collection process has been optimized, and the user pass rate has been significantly improved.
UI interaction adjustments
Currently, the ellipses in the entire 3D liveness detection process are the same color. We have adjusted the status during detection, maintaining green in the stationary state and gray in other states.
If you want to maintain the previous interaction effect, you can call the following methods to set the ellipse color in these two states:
xxxxxxxxxx
mLivenessView.setOvalColor(Color.parseColor("#5BC413"));
mLivenessView.setOvalNormalColor(Color.parseColor("#5BC413"));
Supports capturing an audit graph at a specified time
xxxxxxxxxx
// Added setRelativeSecondsCaptureAfterCameraLaunched(2.3f) configuration to the original audit image configuration. You can specify the screenshot time relative to the camera opening, in seconds. If this setting is not called, the image will not be captured.
// The newly added image exists in the original image array
GuardianLivenessDetectionSDK.setAuditImageConfig(new AuditImageConfig
.AuditImageConfigBuilder()
.setEnableCollectSwitch(true)
.setImageCaptureInterval(400)
.setImageMaxNumber(10)
.setImageWidth(400)
.setImageQuality(30)
.setRelativeSecondsCaptureAfterCameraLaunched(2.3f)
.build());
Added uploading timestamps for near and far view images
Starting from version 3.3.0, when you call the backend score interface,
farImageTime
andnearImageTime
will be returned additionally, representing the timestamp for the capture of the far and near images respectively.
Change the dependency version number to3.3.0
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.0'
}
Change the dependency version number to3.2.0
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.2.0'
}
Change the dependency version number to3.1.5
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.5'
}
Change the dependency version number to3.1.4
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.4'
}
Add functionality to return an audit image list.
Video recording feature optimization:
Change the dependency version number to3.1.1
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.1'
}
Capture audit images.
When this feature is enabled, we will capture multiple images during the user's movement based on your configuration.
xxxxxxxxxx
GuardianLivenessDetectionSDK.setAuditImageConfig(new AuditImageConfig
.AuditImageConfigBuilder()
.setEnableCollectSwitch(true)// The function open switch,default value is false
.setImageCaptureInterval(400)// Minimum interval time for capturing images,default interval is 400ms
.setImageMaxNumber(10)// Maximum number of captured images,default number is 10
.setImageWidth(400)// The image width,default width is 400px
.setImageQuality(30)// The image compress quality,must in [30,100],the default value is 30
.build());
Get audit images
xxxxxxxxxx
List<LivenessImageData> auditImageList = LivenessResult.getAuditImageList();
// data structure
public class LivenessImageData {
public final String base64Image;// Base64 format image
public final long timestamp;// Timestamp of image capture.
}
Video recording feature.
By enabling this feature, the SDK will activate video recording. After the completion of the liveness process, you can retrieve the video file using SDK methods. The video file format is .mp4. Please note that this video can only be obtained through the SDK and cannot be obtained from the backend. After using the video, it is up to you to decide whether to delete the local file.
xxxxxxxxxx
GuardianLivenessDetectionSDK.setRecordVideoSwitch(true);
GuardianLivenessDetectionSDK.setMaxRecordVideoSeconds(60);// Maximum recording duration, in seconds, valid range [2,60], default is 60 seconds.
Get video file
xxxxxxxxxx
File videoFile = LivenessResult.getVideoFile(this);
eventId
to troubleshoot logsChange the dependency version number to3.1.0
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.0'
}
Add eventId
to track the whole liveness detection process and debug,Please make sure to save this ID for contacting us for troubleshooting purposes
xxxxxxxxxx
// After the liveness process is completed, we store this ID regardless of success or failure.
String eventId = LivenessResult.getEventId();
Fllow this link
Change the dependency version number to 3.0.6
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.6'
}
When the server requests the auth-license API, an additional parameter called "openCertPinning" is included. Here is an example:
xxxxxxxxxx
{
"licenseEffectiveSeconds":600,
"applicationId":"appId1,appId2",
"openCertPinning":true
}
Delete the GuardianLivenessDetectionSDK.capturePictureQueue()
method, no longer supporting the return of image sequences.
Delete the static method IMediaPlayer.isPlayEnable()
and use mLivenessView.isSoundPlayEnable()
instead.
Add a method to return the near Image
xxxxxxxxxx
Bitmap nearBitmap = LivenessResult.getNearBitmap();
String nearBase64Str = LivenessResult.getNearBase64Str();
Change the dependency version number to3.0.5
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.5'
}
Change the dependency version number to3.0.4
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.4'
}
Change the dependency version number to3.0.3
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.3'
}
Change the dependency version number to3.0.2
:
xxxxxxxxxx
dependencies {
...
// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xml
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.2'
}
SDK adds the following optional permissions. If you do not want these permissions to appear in your app manifest, remove the permission item in your app module's AndroidManifest.xml
file. Taking ACCESS_FINE_LOCATION
as an example: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove"/>
.
xxxxxxxxxx
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
It is recommended to place the prompt text at the position shown in the image below (above the LivenessView) for easy user access to the prompt content:
It is recommended to shorten the prompt text length as follows for easy user comprehension of the prompt information:
FACENOTCENTER
:Center your face in the frameFACENOTSTILL
&FACECAPTURE
:Hold steadyFACENOTFRONTAL
:Please look straightFACEMISSING
:Position your face in the frameFACESMALL
:Move closerFACELARGE
:Move awaySet the background color of the livenessView(do not overlay a mask image on the LivenessView, if you have, please remove it)
xxxxxxxxxx
mLivenessView.setMaskColor(getResources().getColor(R.color.xxx);
Set the color of the oval frame in the livenessView:
xxxxxxxxxx
mLivenessView.setOvalColor(getResources().getColor(R.color.xxx));