SDK-接入文档(ios版)
类MGFaceIDDetectManager
初始化函数initFaceIdManagerWithToken
函数名 | initFaceIdManagerWithToken |
---|---|
方法描述 | - (instancetype)initFaceIdManagerWithToken:(NSString *__nonnull)token error:(FaceIDDetectError **__nonnull)error; |
名称 | 初始化方法 |
说明 | 活体检测初始化时调此接口 |
变量名 | 说明 |
token | 类型: NSString * 说明:业务流水号 |
error | 类型: FaceIDDetectError** 说明: 初始化错误类型,若没有错误,则该参数为空 |
定制Host的初始化函数initFaceIdManagerWithToken
函数名 | initFaceIdManagerWithToken |
---|---|
方法描述 | - (instancetype)initFaceIdManagerWithToken:(NSString *__nonnull)token networkHostURL:(NSString *__nonnull)hostUrlStr error:(FaceIDDetectError **__nonnull)error; |
名称 | 初始化方法 |
说明 | 活体检测初始化时调此接口 |
变量名 | 说明 |
token | 类型: NSString * 说明:业务流水号 |
hostUrlStr | 类型: NSString * 说明:自定义Host |
error | 类型: FaceIDDetectError** 说明: 初始化错误类型,若没有错误,则该参数为空 |
设置语言函数setMGFaceIDLiveDetectLanguage
说明:该方法是类方法,请在开启 FaceID 活体检测接口startDetect之前调用去设置中英文
函数名 | setMGFaceIDLiveDetectLanguage |
---|---|
方法描述 | -(void)setMGFaceIDLiveDetectLanguage:(FaceIDDetectBundleLanguageKey)liveDetectLanguage; |
名称 | 启动FaceID活体检测 |
类型说明 | 函数 |
说明 | 启动FaceID活体检测 |
变量名 | 说明 |
liveDetectLanguage | 类型: FaceIDDetectBundleLanguageKey 说明: 语言枚举类型 |
FaceID 语言设置的枚举 FaceIDDetectBundleLanguageKey
typedef enum : NSUInteger {
MGFaceIDDetectionZh = 0, 中文
MGFaceIDDetectionEn 英文
} FaceIDDetectBundleLanguageKey;
函数startDetect
函数名 | startDetect |
---|---|
方法描述 | - (void)startDetect:(UIViewController *__nonnull)detectVC callback:(FaceIDDetectBlock __nonnull)result; |
名称 | 启动FaceID活体检测 |
类型说明 | 函数 |
说明 | 启动FaceID活体检测 |
变量名 | 说明 |
detectVC | 类型: UIViewController * 说明: 启动检测的VC |
result | 类型: FaceIDDetectBlock 说明: 检测结果的block回调。详情请参考(MGFaceIDDetectConfig.h) |
- 注意:每次调用startDetect前,请先调用initFaceIdManagerWithToken接口
函数getSdkVersion
此函是为非必须函数,获取的SDK版本号便于后期定位问题,建议使用;
函数名 | getSdkVersion |
---|---|
方法描述 | + (NSString *_Nonnull)getSdkVersion; |
名称 | 获取SDK的版本号 |
类型说明 | 函数 |
说明 | 无 |
返回值 | NSString*, 一个字符串,表示当前SDK的版本号。 |
函数getSdkBuildInfo
此函是为非必须函数,获取的SDK构筑信息便于后期定位问题,建议使用;
函数名 | getSdkBuildInfo |
---|---|
方法描述 | + (NSString *_Nonnull)getSdkBuildInfo; |
名称 | 获取SDK的构筑信息 |
类型说明 | 函数 |
说明 | 无 |
返回值 | NSString*, 一个字符串。 |
FaceIDDetectBlock回调函数
函数名 | FaceIDDetectBlock |
---|---|
方法描述 | Detect的回调函数,返回相应的结果 |
名称 | typedef void(^ FaceIDDetectBlock)(NSUInteger Code,NSString* Message); |
类型说明 | 函数 |
说明 | 无 |
变量名 | 说明 |
Code | 类型: NSUInteger 说明:参见SDK-错误码说明 |
Message | 类型: NSString* 说明:参见SDK-错误码说明 |
函数setMGFaceIDLiveDetectCustomUIConfig
函数名 | setMGFaceIDLiveDetectCustomUIConfig |
---|---|
方法描述 | - (void)setMGFaceIDLiveDetectCustomUIConfig:(MGFaceIDLiveDetectCustomConfigItem *__nullable)configItem; |
名称 | 设置 FaceID 活体检测的自定义UI效果 |
类型说明 | 函数 |
说明 | 设置 FaceID 活体检测的自定义UI效果 |
变量名 | 说明 |
configItem | 类型: MGFaceIDLiveDetectCustomConfigItem * 说明: 自定义UI配置 |
函数setMGFaceIDLiveDetectPhoneVertical
函数名 | setMGFaceIDLiveDetectPhoneVertical |
---|---|
方法描述 | - (void)setMGFaceIDLiveDetectPhoneVertical:(MGFaceIDLiveDetectPhoneVerticalType)verticalType; |
名称 | 设置活体检测的手机垂直检测类型 |
类型说明 | 函数 |
说明 | 设置活体检测的手机垂直检测类型 |
变量名 | 说明 |
verticalType | 类型: MGFaceIDLiveDetectPhoneVerticalType 说明: 垂直检测枚举类型 |
垂直检测类型的枚举 MGFaceIDLiveDetectPhoneVerticalType
typedef enum : NSUInteger {
MGFaceIDLiveDetectPhoneVerticalFront = 0, // 仅在开始的2s内启用,2s后关闭该功能
MGFaceIDLiveDetectPhoneVerticalContinue = 1, // 持续启用
MGFaceIDLiveDetectPhoneVerticalDisable = 2, // 禁用
} MGFaceIDLiveDetectPhoneVerticalType;
SDK介绍
SDK 版本: FaceIDZFAC 1.3.0I
模型说明:
- 模型
Meg_ActionLive
。 - 模型是 SDK 的核心组件,在
MGFaceIDDetectResource.bundle
中。
SDK 集成要求:
- SDK支持的系统最低要求是
iOS 8.0
,只支持真机架构(arm64和armv7)
,不支持模拟器架构(x86_64和i386)
。
SDK 集成说明:
- 1、添加 SDK 库:将 sdk 文件夹中的
MGFaceIDBaseKit.framework
和MGFaceIDDetect.framework
添加到工程中,添加后确保TARGETS-Build Phases-Link Binary With Libraries
中可以查找到MGFaceIDBaseKit.framework(Required)
和MGFaceIDDetect.framework(Required)
。如果该SDK(.framework)
在非PROJECT
根目录下,请确定在TARGETS-Build Settings-Framework Search Paths
选项中添加了该 SDK 所在的目录路径。 - 2、因为该
framework
中使用了category
,需要在Ohter Linker Flags
中添加-ObjC
; - 3、添加系统依赖:在
TARGETS-Build Phases-Link Binary With Libraries
中添加AVFoundation.framework
、CoreMedia.framework
、CoreMotion.framework
、SystemConfiguration.framework
; - 4、添加资源:将
resource
文件夹中的资源包(MGFaceIDDetectResource.bundle)
添加到工程中,需要勾选(Add to targets)
到指定的target
; - 5、因为该 SDK 中使用了 C++ 编码,需要工程支持混编 C++。设置
TARGETS-Build Settings-Compile Sources As
选项为Objective-C++
或者将调用该 SDK 的文件后缀名称改为 mm; - 6、添加硬件权限:因为在 SDK 中调用了系统相机,需要在
info.plist
中添加Privacy - Camera Usage Description
; - 7、调用 SDK 接口:通过
#import <MGFaceIDLiveDetect/MGFaceIDLiveDetect.h>
调用 SDK 中的 API 接口;
集成注意事项:
- 必须在网络连通的情况下使用,离线状态该 SDK 无法启动。
UI定制
可定制的UI内容:
可定制的内容主要包括:控件颜色、文案内容、文案颜色、文案字号、图片资源、语音资源等。下文将逐个页面说明哪些UI元素可以修改。
1、默认图片资源可以更换,素材名称:faceid_detect_remind_icon
2、首页提示语文字颜色可替换 文案字体颜色变量名:livenessGuideRemindTextColor
3、首页同意协议文字颜色可更换,变量名:livenessGuideReadColor
4、button颜色可更换,文字颜色可以更换。
button可选状态颜色变量名:livenessDetectButtonSelectedBGColor
button不可选状态颜色变量名:livenessDetectButtonNormalBGColor
button高亮状态颜色变量名:livenessDetectButtonHighlightBGColor
字体颜色变量名:livenessDetectButtonTextColor
5、背景色可以更换,变量名称:livenessHomeBackgroundColor
6、右上角关闭按钮资源可以更换,变量名称:liveness_home_closeicon
7、圆环部分背景色可以替换,变量名称:livenessHomeRingColor
8、进度条颜色可以更换,变量名称:livenessHomeProcessBarColor
9、验证失败后,进度条颜色可以更换,变量名称:livenessHomeValidationFailProcessBarColor
10、圆圈下的字体颜色、字体大小、文案内容可以更换,此字体一直保持居中状态,支持折行; 文案字体颜色变量名:livenessHomePromptColor 文案字体大小变量名:livenessHomePromptSize 文案内容: “请让我看到您的正脸”:livenessHomePromptFrontalFaceText “验证中,请稍候”:livenessHomePromptWaitText “人脸有效面积太小”:livenessHomePromptFaceEreaText “请让光线再亮点”:livenessHomePromptBrighterText “请让光线再暗点”:livenessHomePromptDarkerText “请再靠近一些”:livenessHomePromptCloserText “请离屏幕远一些”:livenessHomePromptFurtherText “请避免侧光或背光”:livenessHomePromptNoBacklightingText “请将正脸置于取景框内”:livenessHomePromptFrontalFaceInBoundingBoxText “请勿遮挡眼睛”: livenessHomePromptNoEyesOcclusionText “请勿遮挡嘴巴”: livenessHomePromptNoMouthOcclusionText “很好,请保持不动”: livenessHomePromptStayStillText
“请向左或向右缓慢转头”: livenessHomePromptShakeHeadText “请缓慢点头”: livenessHomePromptNodText “请张嘴” : livenessHomePromptOpenMouthText “请眨眼”: livenessHomePromptBlinkText
11、动作活体时语音资源可以替换: “请眨眼”:liveness_blink “请张嘴”:liveness_mouth_open “请向左或向右缓慢转头”:liveness_shakehead “请缓慢点头”:liveness_nod “很好”:liveness_well_done
12、在loading过程中,loading效果素材可以更换;素材名称:liveness_home_loadingicon
13、退出弹层标题内容、标题文案字号、颜色可以更换: 字体颜色变量名:livenessExitTitlePromptColor 字体大小变量名:livenessExitTitlePromptSize 文案内容: “确认退出吗”:livenessExitTitlePromptText
14、退出弹层的中的左右两个选项的文案内容、文案字号、颜色可以更换: 左项: 字体颜色变量名:livenessExitLeftPromptColor 字体大小变量名:livenessExitLeftPromptSize 文案内容: “取消”:livenessExitLeftPromptText 右项: 字体颜色变量名:livenessExitRightPromptColor 字体大小变量名:livenessExitRightPromptSize 文案内容: “确定”:livenessExitRightPromptText
15、图中动画内容可以替换: 眨眼动画: liveness_blink_eye_close liveness_blink_eye_open 张嘴动画: liveness_mouth_close liveness_mouth_open 点头动画: liveness_nod_down liveness_nod_up 摇头动画: liveness_shakehead_left liveness_shakehead_right
UI定制方法:
- 修改尺寸、颜色: 创建一个实例对象,该对象中包括所有可配置信息。用户在使用SDK的时候,传入该对象。使用该对象中的信息渲染所有UI细节。 如果用户不创建该对象或者不更改对象中的任何可配置信息,使用默认的UI效果。
- 修改文案内容: 在bundle/MGFaceIDDetection.strings中,修改文案内容。
- 替换图片资源: 在bundle/image 文件夹中,替换图片资源。
- 替换语音资源: 在bundle/audio 文件夹中,替换语音资源。
当前版本
- v1.3.0