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;

});

}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐