1.在pubspec.yaml引入aliyun_face_plugin
2.增加模块依赖
编辑业务工程下/android/build.gradle文件,在allprojects字段中增加flatDir配置。3.开始认证时 调用(注意certifyid要用后端生成)
Future<void> getMetaInfos() async {
String metainfos;
try {
// 获取客户端metainfos,将信息发送到服务器端,调用服务器端相关接口获取认证ID,即CertifyId。
metainfos = await _aliyunFacePlugin.getMetaInfos() ?? 'Unknown metainfos';
} on PlatformException {
metainfos = 'Failed to get metainfos.';
}
setState(() {
_infos = "metainfos: " + metainfos;
});
}
4.调用
Future<void> startVerify() async {
String verifyResult;
try {
// 调用认证接口,CertifyId需要调用服务器端接口获取。
// 每个CertifyId只能使用一次,否则会返回code: "2002(iOS), 1001(Android)"。
verifyResult = await _aliyunFacePlugin.verify(
"certifyId", "shac05691e3bf2e1826a968793c1a17d") ??
'-1,error';
} on PlatformException {
verifyResult = '-2,exception';
}
setState(() {
_infos = "verifyResult: " + verifyResult;
});
}
5.附上完整调用代码
Future<void> getMetaInfos() async {
String metainfos;
try {
// 获取客户端metainfos,将信息发送到服务器端,调用服务器端相关接口获取认证ID,即CertifyId。
metainfos = await aliyunFacePlugin.getMetaInfos() ?? 'Unknown metainfos';
// 调用后端接口 传入metainfos 获取CertifyId(后端方法暂不展示了)
} on PlatformException {
metainfos = 'Failed to get metainfos.';
}
setState(() {
infos = "metainfos: " + metainfos;
});
}
Future<void> startVerify(certifyId) async {
String verifyResult;
try {
// 调用认证接口,CertifyId需要调用服务器端接口获取。
// 每个CertifyId只能使用一次,否则会返回code: "2002(iOS), 1001(Android)"。
verifyResult =
await aliyunFacePlugin.verify("certifyId", certifyId) ?? '-1,error';
} on PlatformException {
verifyResult = '-2,exception';
}
setState(() {
infos = "verifyResult: " + verifyResult;
});
}