Перейти к основному содержимому

Инициализация

Где инициализировать

Инициализируйте 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);
}
Реализация UnicoListener

Создайте 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

Все четыре метода listener, перечисленных выше, должны быть созданы в вашем проекте (даже без какой-либо логики). В противном случае проект не скомпилируется успешно.

Выбор среды

Выбор между sandbox и production осуществляется при инициализации. Используйте перечисление UnicoEnvironment:

  • UnicoEnvironment.PROD — production-среда
  • UnicoEnvironment.UAT — среда staging
_unicoCheck.setEnvironment(unicoEnvironment: UnicoEnvironment.UAT);

Полный список доступных типов среды см. в Справочнике API > API инициализации.

Жизненный цикл

Аутентификация SDK с бэкендом занимает несколько секунд. Инициализируйте заранее (при холодном запуске приложения), а не в момент, когда пользователь нажимает кнопку захвата — иначе пользователь ощутит задержку между нажатием и открытием камеры.