跳转到主要内容

初始化

初始化位置

应用加载时初始化 SDK — 通常在 main() 中,或在入口 widget 的 initState() 中。请参阅最佳实践,了解为何不应在采集按钮点击时初始化。

嵌入凭据

使用 Onboarding 团队提供的凭据,为每个平台实例化一个 UnicoConfig 对象:

final _configIos = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Ios",
getHostKey: "Your HostKey Ios");

final _configAndroid = UnicoConfig(
getBundleIdentifier: "Your BundleIdentifier Android",
getHostKey: "Your HostKey Android");

void initUnicoCamera() {
_unicoCheck = new UnicoCheck(
listener: this,
unicoConfigIos: _configIos,
unicoConfigAndroid: _configAndroid);
}
实现 UnicoListener

在您的 widget 状态类中实现 UnicoListener 接口,并使用应用的业务逻辑覆盖回调方法:

class _MyHomePageState extends State<MyHomePage> implements UnicoListener {

late UnicoCheckBuilder _unicoCheck;

@override
void onErrorUnico(UnicoError error) {}

@override
void onUserClosedCameraManually() {}

@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}

@override
void onSystemClosedCameraTimeoutSession() {}
}
必须实现的监听方法

上述四个监听方法必须在您的项目中创建(即使没有任何逻辑)。否则,项目将无法成功编译。

环境选择

环境的选择在初始化时确定。使用 UnicoEnvironment 枚举:

  • UnicoEnvironment.PROD — 生产环境
  • UnicoEnvironment.UAT — UAT 环境
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);

有关可用环境类型的完整列表,请参阅 API 参考 > 初始化 API

生命周期

SDK 与后端的认证需要几秒钟。请尽早初始化(应用冷启动时),而非在用户点击采集按钮时初始化 — 否则用户会感受到点击与相机打开之间的延迟。