
SdkToken以及通过SdkToken拉取最终的核身结果。
var FaceIdClient *faceid.Clientfunc init() {// 初始化客户端配置对下,您可以指定超时时间和其他配置项prof := profile.NewClientProfile()prof.HttpProfile.ReqTimeout = 60// TODO 需要替换成您调用账号的 SecretId 和 SecretKeycredential := cloud.NewCredential("SecretId", "SecretKey")var err error// 初始化调用慧眼人脸核身服务的客户端FaceIdClient, err = faceid.NewClient(credential, "ap-singapore", prof)if nil != err {log.Fatal("FaceIdClient init error: ", err)}}// GetFaceIdToken 获取人脸核身Tokenfunc GetFaceIdToken(w http.ResponseWriter, r *http.Request) {log.Println("get face id token")// 步骤1: 解析请求参数_ = r.ParseForm()var SecureLevel = r.FormValue("SecureLevel")// 步骤2: 初始化请求对象,并给必要的参数赋值request := faceid.NewGetFaceIdTokenIntlRequest()request.SecureLevel = &SecureLevel// 步骤3: 通过FaceIdClient调用人脸核身服务response, err := FaceIdClient.GetFaceIdTokenIntl(request)// 步骤4: 处理腾讯云API的响应,并构造返回对象if nil != err {_, _ = w.Write([]byte("error"))return}SdkToken := response.Response.SdkTokenapiResp := struct {SdkToken *string}{SdkToken: SdkToken}b, _ := json.Marshal(apiResp)// ... 其他业务处理代码//步骤5: 返回服务响应_, _ = w.Write(b)}// GetFaceIdResult 获取人脸核身核验结果func GetFaceIdResult(w http.ResponseWriter, r *http.Request) {// 步骤1: ... 解析请求参数_ = r.ParseForm()SdkToken := r.FormValue("SdkToken")// 步骤2: 初始化请求对象,并给必要的参数赋值request := faceid.NewGetFaceIdResultIntlRequest()request.SdkToken = &SdkToken// 步骤3: 通过FaceIdClient调用人脸核身服务response, err := FaceIdClient.GetFaceIdResultIntl(request)// Step 4: 处理腾讯云API的响应,并构造返回对象if nil != err {_, _ = w.Write([]byte("error"))return}result := response.Response.ResultapiResp := struct {Result *string}{Result: result}b, _ := json.Marshal(apiResp)// ... 其他业务处理代码//步骤5: 返回服务响应_, _ = w.Write(b)}func main() {// 注册http接口路径http.HandleFunc("/api/v1/get-token", GetFaceIdToken)http.HandleFunc("/api/v1/get-result", GetFaceIdResult)// 监听端口err := http.ListenAndServe(":8080", nil)if nil != err {log.Fatal("ListenAndServe error: ", err)}}
SdkToken , 访问http://ip:port/api/v1/get-result 接口查看 Result 字段的响应是否为0以判断服务端集成是否成功,具体的响应结果详见API接口部分的介绍。
// 设置ndk so架构过滤(以armeabi-v7a为例)ndk {abiFilters 'armeabi-v7a'}dependencies {// 引入慧眼SDKimplementation files("libs/huiyansdk_android_overseas_1.0.9.5_release.aar")// 慧眼通用算法SDKimplementation files("libs/tencent-ai-sdk-youtu-base-1.0.1.32-release.aar")// 通用能力组件库implementation files("libs/tencent-ai-sdk-common-1.1.27-release.aar")implementation files("libs/tencent-ai-sdk-aicamera-1.0.18-release.aar")// 慧眼SDK需要依赖的第三方库// gsonimplementation 'com.google.code.gson:gson:2.8.5'}
<!-- 摄像头权限 --><uses-permission android:name="android.permission.CAMERA" /><uses-featureandroid:name="android.hardware.camera"android:required="true" /><uses-feature android:name="android.hardware.camera.autofocus" /><!-- SDK需要的权限 --><uses-permission android:name="android.permission.INTERNET" /><!-- SDK可选需要的权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@Overridepublic void onCreate() {super.onCreate();instance = this;// SDK需要在Application初始化时进行初始化HuiYanOsApi.init(getApp());}
// HuiYanOs的相关参数HuiYanOsConfig huiYanOsConfig = new HuiYanOsConfig();// 此license文件存放在assets下huiYanOsConfig.setAuthLicense("YTFaceSDK.license");if (compatCheckBox.isChecked()) {huiYanOsConfig.setPageColorStyle(PageColorStyle.Dark);}// 是否需要返回最佳帧if (needBestImageCB.isChecked()) {huiYanOsConfig.setNeedBestImage(true);}// 启动方法,开始的活体,currentToken为后台下发数据HuiYanOsApi.startHuiYanAuth(currentToken, huiYanOsConfig, new HuiYanOsAuthCallBack() {@Overridepublic void onSuccess(HuiYanOsAuthResult authResult) {showToast("活体通过!");if (!TextUtils.isEmpty(authResult.getBestImage())) {CommonUtils.decryptBestImgBase64(authResult.getBestImage(), false);}}@Overridepublic void onFail(int errorCode, String errorMsg, String token) {String msg = "活体失败 " + "code: " + errorCode + " msg: " + errorMsg + " token: " + token;Log.e(TAG, "onFail" + msg);showToast(msg);}});

@Overrideprotected void onDestroy() {super.onDestroy();// 退出时做资源释放HuiYanOsApi.release();}
#慧眼SDK的混淆包含-keep class com.tencent.could.huiyansdk.** {*;}-keep class com.tencent.could.aicamare.** {*;}-keep class com.tencent.could.component.** {*;}-keep class com.tencent.youtu.** {*;}-keep class com.tenpay.utils.SMUtils {*;}
├──HuiYanOverseasSDK.framework├──YtSDKKitSilentLiveness.framework├──YtSDKKitReflectLiveness.framework├──YtSDKKitActionLiveness.framework├──YtSDKKitFramework.framework├──tnnliveness.framework├──YTFaceAlignmentTinyLiveness.framework├──YTFaceTrackerLiveness.framework├──YTFaceDetectorLiveness.framework├──YTPoseDetector.framework├──YTCommonLiveness.framework├──TXYCommonDevice.framework├──TXYCommonNetworking.framework├──TXYCommonUtils.framework├──YTCv.framework├──YtSDKKitFrameworkTool.framework├──YTSm.framework└──YTFaceLiveReflect.framework
├── AVFoundation.framework├── libc++.tbd└── Accelerate.framework
└── face-tracker-v003.bundle
└── HuiYanSDKUI.bundle
target 'HuiYanAuthDemo' douse_frameworks!pod 'CloudHuiYanSDK_FW', :path => './CloudHuiYanSDK_FW'end
<key>Privacy - Camera Usage Description</key><string>人脸核身需要开启您的摄像头权限,用于人脸识别</string>
#import <HuiYanOverseasSDK/HuiYanOsApi.h>#import <HuiYanOverseasSDK/HuiYanOSKit.h>//获取tokenNSString *faceToken = self.tokenTextField.text;// 配置SDKHuiYanOsConfig *config = [[HuiYanOsConfig alloc] init];//设置licconfig.authLicense = [[NSBundle mainBundle] pathForResource:@"xxx.lic" ofType:@""];//准备阶段超时配置config.prepareTimeoutMs = 20000;//检测阶段超时配置config.authTimeOutMs = 20000;config.isDeleteVideoCache = YES;config.languageType = EN;// config.userLanguageFileName = @"ko";// config.userLanguageBundleName = @"UseLanguageBundle";config.iShowTipsPage = YES;config.isGetBestImg = YES;[[HuiYanOSKit sharedInstance] startHuiYaneKYC:faceToken withConfig:configwitSuccCallback:^(HuiYanOsAuthResult * _Nonnull authResult, id _Nullable reserved) {NSString *bestImg = authResult.bestImage;NSString *token = authResult.faceToken;} withFailCallback:^(int errCode, NSString * _Nonnull errMsg, id _Nullable reserved) {NSString *showMsg = [NSString stringWithFormat:@"err:%d:%@",errCode,errMsg];NSLog(@"err:%@",showMsg);}];
// 退出时做资源释放- (void)dealloc {[HuiYanOsApi release];}//[iOS demo](https://github.com/TencentCloud/huiyan-faceid-demo/tree/main/faceid-iOS-example)[Android demo](https://github.com/TencentCloud/huiyan-faceid-demo/tree/main/id-verification-android-example)
文档反馈