人脸采集原生App最小化样例

背景

本文展示如何使用开源样例,快速集成Native SDK搭建一个具备人脸采集功能的最小化的移动App。

准备工作

  1. 完成ZOLOZ SaaS账号的创建。
  2. 登陆ZOLOZ Portal,完成了API鉴权的设置:
    1. 获取了Client ID,public key。
    2. 生成了商家密钥对,并且将商家公钥进行了注册。
  1. 确认账号所在环境(沙箱 或 生产)。

源码获取

获取服务端最小化样例:

copy
git clone https://github.com/zoloz-pte-ltd/zoloz-integration-examples.git

这个仓库包含了多个产品及功能的集成样例,本文关注的样例位于 /basic/facecapture-native 目录下

获取客户端最小化样例:

copy
# iOS最小化样例
git clone https://github.com/zoloz-pte-ltd/zoloz-demo-ios.git

# Android最小化样例
git clone https://github.com/zoloz-pte-ltd/zoloz-demo-android.git

构建

服务端构建

环境需求 :

  • JDK 1.8
  • Maven >3.2.5 
copy
cd basic/facecapture
mvn package

iOS App构建

环境要求 :

  • xcode
copy
pod install --repo-update

Android App构建

环境要求 :

  • Android SDK
  • adb
copy
./gradlew :app:installDebug

使用

1. 启动Server

环境要求:

  • JRE 1.8

运行如下命令:

copy
java \
  -Dhost.url="https://cn-sandbox-api.zoloz.tech"
  -Dclient.id=<client_id> \
  -Dmerchant.privkey.path=<merchant_private_key_path> \
  -Dzoloz.pubkey.path=<zoloz_public_key_path> \
  -jar target/zoloz-facecapture-native-bizserver-1.0-SNAPSHOT.jar

或者如下命令(直接指定公钥的内容而不是公钥文件的路径):

copy
java \
  -Dhost.url="https://cn-sandbox-api.zoloz.tech"
  -Dclient.id=<client_id> \
  -Dmerchant.privkey.path=<merchant_private_key_path> \
  -Dzoloz.pubkey=<zoloz_public_key_base64_content> \
  -jar target/zoloz-facecapture-native-bizserver-1.0-SNAPSHOT.jar

2. 确认服务端点

服务端点由IP和端口 (通常是8080)组成。

服务端启动后,会打印 ”Server started on $ip:$port“ 模式的日志,下面是一份服务端日志的样例(在这个样例中,端点是192.168.1.5:8080):

copy
.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
... (some log lines are ignored.)
2020-01-01 00:08:19.922 [] [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"]
2020-01-01 00:08:19.949 [] [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"]
2020-01-01 00:08:19.970 [] [main] INFO  org.apache.tomcat.util.net.NioSelectorPool - Using a shared selector for servlet write/read
2020-01-01 00:08:20.085 [] [main] INFO  org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8080 (http)
2020-01-01 00:08:20.099 [] [main] INFO  com.zoloz.example.facecapturenative.ServerInfoListener - Server started on 192.168.1.5:8080
2020-01-01 00:08:20.102 [] [main] INFO  com.zoloz.example.facecapturenative.Application - Started Application in 7.766 seconds (JVM running for 10.232)

3. 启动Demo App

忽略

4. 启动人脸活体采集流程

  1. “HOST”输入框填入"http://<ip>:<port>",其中ipport 是在步骤2中获取到的值。
  2. “API”输入框填入 "/api/facecapture/initialize"。
  3. “LEVEL”输入框填入 FACECAPTURE002 (或者FACECAPTURE003,FACECAPTURE004)。
  4. 点击”START ZOLOZ“按钮启动流程。