将依赖版本号修改为3.6.4:
xxxxxxxxxxdependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.6.4'}将依赖版本号修改为3.6.3:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.6.3'}将依赖版本号修改为3.6.2:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.6.2'}将依赖版本号修改为3.6.1:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.6.1'}将依赖版本号修改为3.6.0:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.6.0'}设置 SignatureId(可选功能,若不设置此 id 或设置为空,则维持 livenessId 方式不变)
在已知的下述情况下,AAI 生成的 livenessId 未能传达到您的服务端,这些 livenessId 的结果就会丢失。为了解决此问题,您的后端可以调用 AAI 接口生成 SignatureId 并传给 SDK。SignatureId 可用于获取活体分数,与 livenessId 具备等效的功能。
请注意:SignatureId 可为空,但不可重复使用
GuardianLivenessDetectionSDK.setSignatureId(signatureId);
将依赖版本号修改为3.5.1:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.5.1'}将依赖版本号修改为3.5.0:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.5.0'}
将依赖版本号修改为3.4.1:
dependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.1'}targetSdk 升级至 34将依赖版本号修改为3.4.0:
xxxxxxxxxxdependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.0'}将依赖版本号修改为3.3.1:
xxxxxxxxxxdependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.1'}解决报毒问题
活体 SDK 被 VirusTotal 上部分平台误报存在病毒,如果您的应用推广依赖 VirusTotal 的检测结果,建议您升级到此版本
aai.liveness.**LivenessView 的名称,在集成 3.3.0 时,请将此类的名称还原为LivenessView优化活体采集过程的性能,用户使用上的通过率明显提升。
UI 交互调整
当前 3D 活体在整个检测过程中椭圆都是同一种颜色,我们对检测时的状态做了调整, 保持静止状态下呈现绿色,其他状态呈现灰色。
如果您想维持之前的交互效果,可以调用下面的方法设置这两种状态下的椭圆颜色
xxxxxxxxxxmLivenessView.setOvalColor(Color.parseColor("#5BC413"));mLivenessView.setOvalNormalColor(Color.parseColor("#5BC413"));支持截取指定时间下的一张审计图
xxxxxxxxxx // 在原有审计图的配置上,新增 setRelativeSecondsCaptureAfterCameraLaunched(2.3f) 配置,您可以指定相对于相机打开后的截图时间,单位为秒。如果不调用此项设置,则不会截取本张图// 新增的这张图存在于原有的图像数组中GuardianLivenessDetectionSDK.setAuditImageConfig(new AuditImageConfig .AuditImageConfigBuilder() .setEnableCollectSwitch(true) .setImageCaptureInterval(400) .setImageMaxNumber(10) .setImageWidth(400) .setImageQuality(30) .setRelativeSecondsCaptureAfterCameraLaunched(2.3f) .build());增加远近景图片上传时间戳
从 3.3.0 版本开始,当您调用后端取分接口时,会额外返回 farImageTime、nearImageTime 分别表示远景图的截取时间戳、近景图的截取时间戳
将依赖版本号修改为3.3.0:
xxxxxxxxxxdependencies { ... implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.0'}将依赖版本号修改为3.2.0:
xxxxxxxxxxdependencies {...implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.2.0'}
将依赖版本号修改为3.1.5:
xxxxxxxxxxdependencies { ... // 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'}将依赖版本号修改为3.1.4:
xxxxxxxxxxdependencies {...// version log:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.4'}
增加返回审核图片列表的功能
视频录制功能优化:
将依赖版本号修改为3.1.1:
xxxxxxxxxxdependencies {...implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.1'}
打开审计图截取功能.
启用这个功能后,我们将根据您的配置在用户移动时捕捉多张图像。
xxxxxxxxxxGuardianLivenessDetectionSDK.setAuditImageConfig(new AuditImageConfig.AuditImageConfigBuilder().setEnableCollectSwitch(true)// 功能开关,默认是关闭.setImageCaptureInterval(400)// 最小的截取时间间隔,默认间隔为 400ms.setImageMaxNumber(10)// 截取最大图像张数,默认为 10.setImageWidth(400)// 图像宽度,默认为 400px.setImageQuality(30)// 图像压缩质量必须在[30, 100]范围内,默认值为 30.build());
获取审计图像
xxxxxxxxxxList<LivenessImageData> auditImageList = LivenessResult.getAuditImageList();// 数据结构public class LivenessImageData {public final String base64Image;// Base64 格式的图片public final long timestamp;// 图像截取时间戳}
视频录制功能
通过启用此功能,SDK 将激活视频录制。在完成活体检测过程后,您可以使用 SDK 方法检索视频文件。视频文件格式为 .mp4。请注意,此视频只能通过 SDK 获得,无法从后端获得。使用视频后,您可以决定是否删除本地文件。
xxxxxxxxxxGuardianLivenessDetectionSDK.setRecordVideoSwitch(true);GuardianLivenessDetectionSDK.setMaxRecordVideoSeconds(60);// 最大录制时长为 2 到 60 秒之间,默认为 60 秒。
获取视频文件
xxxxxxxxxxFile videoFile = LivenessResult.getVideoFile(this);
eventId 用于排查日志将依赖版本号修改为3.1.0:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.0'}
获取 eventId,请务必保存此 id ,用于联系我们进行问题排查
xxxxxxxxxx// 活体结束后获取,无论成功失败都有此 id String eventId = LivenessResult.getEventId();
将依赖版本号修改为3.0.6:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.6'}
删除 GuardianLivenessDetectionSDK.capturePictureQueue()方法,不再支持返回图片序列
删除静态方法 IMediaPlayer.isPlayEnable(),使用mLivenessView.isSoundPlayEnable()替代
增加检测成功后获取近景图的方法:
xxxxxxxxxxBitmap nearBitmap = LivenessResult.getNearBitmap();String nearBase64Str = LivenessResult.getNearBase64Str();
将依赖版本号修改为3.0.5:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.5'}
将依赖版本号修改为3.0.4:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.4'}
将依赖版本号修改为3.0.3:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.3'}
将依赖版本号修改为3.0.2:
xxxxxxxxxxdependencies {...// 版本更新记录请查看:https://public-n3.advai.net/repository/maven-releases/ai/advance/mobile-sdk/android/liveness-detection/maven-metadata.xmlimplementation 'ai.advance.mobile-sdk.android:liveness-detection:3.0.2'}
SDK 新增下列可选权限,如您不希望 App 清单中出现下列权限,在您的 App 模块AndroidManifest.xml文件中移除该项权限即可。以ACCESS_FINE_LOCATION为例:<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" />
建议将提示语放置到如下图位置(LivenessView 上方),便于用户查看提示内容

建议缩短提示语长度如下,便于用户理解提示信息
FACENOTCENTER:Center your face in the frameFACENOTSTILL&FACECAPTURE:Hold steadyFACENOTFRONTAL:Please look straightFACEMISSING:Position your face in the frameFACESMALL:Move closerFACELARGE:Move away设置活体控件的背景色(请勿在 LivenessView 上覆盖蒙版图,如果已经覆盖,需要移除)
xxxxxxxxxxmLivenessView.setMaskColor(getResources().getColor(R.color.xxx);
设置活体控件的椭圆框颜色
xxxxxxxxxxmLivenessView.setOvalColor(getResources().getColor(R.color.xxx));