Инициализация
Инициализируйте SDK при загрузке приложения — как правило, в main() или в initState() вашего корневого виджета. Подробности о том, почему не следует инициализировать при нажатии кнопки захвата, см. в разделе Рекомендации.
Реализуйте UnicoConfig для обеих платформ с учётными данными, предоставленными командой Onboarding:
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);
}
Создайте builder (сгенерированный через интерфейс UnicoCheckBuilder), передав контекст и реализацию класса 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() {}
}
Все четыре метода listener, перечисленных выше, должны быть созданы в вашем проекте (даже без какой-либо логики). В противном случае проект не скомпилируется успешно.
Выбор между sandbox и production осуществляется при инициализации. Используйте перечисление UnicoEnvironment:
UnicoEnvironment.PROD— production-средаUnicoEnvironment.UAT— среда staging
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);
Полный список доступных типов среды см. в Справочнике API > API инициализации.
Аутентификация SDK с бэкендом занимает несколько секунд. Инициализируйте заранее (при холодном запуске приложения), а не в момент, когда пользователь нажимает кнопку захвата — иначе пользователь ощутит задержку между нажатием и открытием камеры.