将依赖版本号修改为3.4.1
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.1'
}
targetSdk
升级至 34将依赖版本号修改为3.4.0
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.4.0'
}
将依赖版本号修改为3.3.1
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.1'
}
解决报毒问题
活体 SDK 被 VirusTotal 上部分平台误报存在病毒,如果您的应用推广依赖 VirusTotal 的检测结果,建议您升级到此版本
aai.liveness.**
LivenessView
的名称,在集成 3.3.0 时,请将此类的名称还原为LivenessView
优化活体采集过程的性能,用户使用上的通过率明显提升。
UI 交互调整
当前 3D 活体在整个检测过程中椭圆都是同一种颜色,我们对检测时的状态做了调整, 保持静止状态下呈现绿色,其他状态呈现灰色。
如果您想维持之前的交互效果,可以调用下面的方法设置这两种状态下的椭圆颜色
xxxxxxxxxx
mLivenessView.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
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.3.0'
}
将依赖版本号修改为3.2.0
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.2.0'
}
将依赖版本号修改为3.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'
}
将依赖版本号修改为3.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'
}
增加返回审核图片列表的功能
视频录制功能优化:
将依赖版本号修改为3.1.1
:
xxxxxxxxxx
dependencies {
...
implementation 'ai.advance.mobile-sdk.android:liveness-detection:3.1.1'
}
打开审计图截取功能.
启用这个功能后,我们将根据您的配置在用户移动时捕捉多张图像。
xxxxxxxxxx
GuardianLivenessDetectionSDK.setAuditImageConfig(new AuditImageConfig
.AuditImageConfigBuilder()
.setEnableCollectSwitch(true)// 功能开关,默认是关闭
.setImageCaptureInterval(400)// 最小的截取时间间隔,默认间隔为 400ms
.setImageMaxNumber(10)// 截取最大图像张数,默认为 10
.setImageWidth(400)// 图像宽度,默认为 400px
.setImageQuality(30)// 图像压缩质量必须在[30, 100]范围内,默认值为 30
.build());
获取审计图像
xxxxxxxxxx
List<LivenessImageData> auditImageList = LivenessResult.getAuditImageList();
// 数据结构
public class LivenessImageData {
public final String base64Image;// Base64 格式的图片
public final long timestamp;// 图像截取时间戳
}
视频录制功能
通过启用此功能,SDK 将激活视频录制。在完成活体检测过程后,您可以使用 SDK 方法检索视频文件。视频文件格式为 .mp4。请注意,此视频只能通过 SDK 获得,无法从后端获得。使用视频后,您可以决定是否删除本地文件。
xxxxxxxxxx
GuardianLivenessDetectionSDK.setRecordVideoSwitch(true);
GuardianLivenessDetectionSDK.setMaxRecordVideoSeconds(60);// 最大录制时长为 2 到 60 秒之间,默认为 60 秒。
获取视频文件
xxxxxxxxxx
File videoFile = LivenessResult.getVideoFile(this);
eventId
用于排查日志将依赖版本号修改为3.1.0
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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'
}
获取 eventId
,请务必保存此 id ,用于联系我们进行问题排查
xxxxxxxxxx
// 活体结束后获取,无论成功失败都有此 id String eventId = LivenessResult.getEventId();
将依赖版本号修改为3.0.6
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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'
}
删除 GuardianLivenessDetectionSDK.capturePictureQueue()
方法,不再支持返回图片序列
删除静态方法 IMediaPlayer.isPlayEnable()
,使用mLivenessView.isSoundPlayEnable()
替代
增加检测成功后获取近景图的方法:
xxxxxxxxxx
Bitmap nearBitmap = LivenessResult.getNearBitmap();
String nearBase64Str = LivenessResult.getNearBase64Str();
将依赖版本号修改为3.0.5
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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'
}
将依赖版本号修改为3.0.4
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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'
}
将依赖版本号修改为3.0.3
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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'
}
将依赖版本号修改为3.0.2
:
xxxxxxxxxx
dependencies {
...
// 版本更新记录请查看: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 新增下列可选权限,如您不希望 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 上覆盖蒙版图,如果已经覆盖,需要移除)
xxxxxxxxxx
mLivenessView.setMaskColor(getResources().getColor(R.color.xxx);
设置活体控件的椭圆框颜色
xxxxxxxxxx
mLivenessView.setOvalColor(getResources().getColor(R.color.xxx));