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

  • 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

历史版本

  • v1.2.2 文档
  • v1.2.0 文档
  • v1.1.0 文档