SDK-接入文档(android版)

接口说明

入口类

com.megvii.faceid.zzplatform.sdk.manager.FaceIdManager

接口

获取单实例对象接口

public static synchronized FaceIdManager getInstance(Context context);
  • 参数说明
参数说明
Contextandroid.os.Context:建议使用ApplicationContext
  • 返回值说明
返回值说明
FaceIdManager入口类FaceIdManager的单实例对象

初始化接口

public void init( String bizToken);
  • 调用说明

    必须在调用所有接口前,初始化成功,否则无法正常工作。

  • 参数说明

参数说明
bizToken业务流水号

开始检测接口

public void startDetect();
  • 参数说明
参数说明
无无
  • 返回值说明
返回值说明
void无返回值

设置Init回调接口

public void setFaceIdInitListener(FaceIdInitListener listener);
  • DetectListener 说明
public interface FaceIdInitListener {
    void onSuccess ();
    void onFailed(int code, String msg);
}
参数说明
codeInit结果状态码,参见SDK-错误码说明
messageInit结果信息,参见SDK-错误码说明

设置Detect回调接口

public void setFaceIdDetectListener(FaceIdDetectListener listener);
  • FaceIdDetectListener 说明
public interface FaceIdDetectListener {
    void onSuccess(int code, String msg);
    void onFailed(int code, String msg);
}
参数说明
codestartDetect结果状态码,参见SDK-错误码说明
messagestartDetect结果信息,参见SDK-错误码说明

设置语言接口(可选接口)

public void setLanguage(Activity activity, String language);
  • 调用说明

    如需设置英文语言,必须在调用初始化接口(init)前设置,否则无法正常工作。

  • 参数说明

参数说明
activityandroid.app.Activity
language设置的语言。设置英文可传"en",设置中文可传"zh",默认为中文

设置HOST接口(可选接口)

public void setHost(Context context, String host);
  • 调用说明

    如需设置host,必须在调用初始化接口(init)前设置,否则无法正常工作。

  • 参数说明

参数说明
contextandroid.os.Context:建议使用ApplicationContext
host设置的host。例如:"https://openapi.faceid.com"

获取SDK版本号接口:

public String getSdkVersion();
  • 参数说明
参数说明
无无
  • 返回值说明
返回值说明
StringSDK版本号

获取编译版本号接口:

public String getSdkBuildInfo();
  • 参数说明
参数说明
无无
  • 返回值说明
返回值说明
StringSDK编译信息

设置垂直检测接口(可选接口)

public void setVerticalDetectionType(int verticalDetection);
  • 参数说明 | 参数 | 说明 | | ------- | ---------------------------------------------- | | verticalDetection | 设置垂直检测类型,默认为FaceIdManager. DETECT_VERITICAL_FRONT。
    FaceIdManager. DETECT_VERITICAL_FRONT 前两秒检测;
    FaceIdManager. DETECT_VERITICAL_KEEP 始终检测;
    FaceIdManager. DETECT_VERITICAL_DISABLE 不检测。 |

FaceIdManager.setManifestPackage接口

public void setManifestPackage(String package)
参数说明
package设置资源编译的包名,工程中AndroidManifest.xml的package属性的值。
此函数非必需调用,默认获取资源package为本包包名,如build.gradle的applicationId与AndroidManifest.xml中不一致的情况,必须在preDetect之前调用,并将AndroidManifest.xml的package传入。

重点说明

若build.gradle的applicationId与AndroidManifest.xml的package不一致,必须在startDetect接口之前调用此接口,并传AndroidManifest.xml的package。 如下图示: 1 2 当不一致时,改接口必须被调用且必须在startDetect之前调用。图中情况传入的package为 com.megvii.test。即 setManifestPackage(“com.megvii.test”);

集成说明(Android Studio)

  1. 将res目录下的资源文件拷贝到项目app的res下
    3

  2. 把aar文件复制进入libs文件夹中
    4

  3. 在APP的gradle中加入

    repositories {
     flatDir{
         dirs 'libs'
         }
     }
     lintOptions {
        checkReleaseBuilds false
        abortOnError false
     }
    
  4. 并在dependencies中加入compile(name:'zzplatform_sdk',ext:'aar')

    5

  5. 点击Rebuild Project

  • UI定制

    可定制的UI内容:

    可定制的内容主要包括:控件颜色、文案内容、文案颜色、文案字号、图片资源、语音资源等。下文将逐个页面说明哪些UI元素可以修改。

    6

  • 1、默认图片资源可以更换,素材名称:liveness_image_center

  • 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

  • 16、重试弹层标题文案字号、颜色可以更换: 字体颜色变量名:livenessRetryTitlePromptColor 字体大小变量名:livenessRetryTitlePromptSize

  • 17、重试弹层的中的左右两个选项的文案内容、文案字号、颜色可以更换: 左项: 字体颜色变量名: livenessRetryLeftPromptColor

    字体大小变量名:livenessRetryLeftPromptSize 文案内容: “重新验证”:livenessRetryLeftPromptText 右项: 字体颜色变量名:livenessRetryRightPromptColor 字体大小变量名:livenessRetryRightPromptSize 文案内容: “结束验证”:livenessRetryRightPromptText

UI定制方法:

  • 修改尺寸、颜色、文案内容: 在values文件夹下修改文字内容、尺寸、 颜色等参数。
  • 替换图片资源: 替换drawable文件夹下存放图片资源,资源key值需要按照规定格式定义。
  • 替换语音资源: 替换raw文件夹下的音频文件。

当前版本

  • v1.3.0

历史版本

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