Поместите файл лицензии (например, license.json или forensics.license) в папку Flutter application/assets. В pubspec.yaml добавьте asset:
Для Android укажите путь к репозиторию Oz в /android/build.gradle, раздел allprojects → repositories:
Для Flutter 8.24.0 и новее или Android Gradle plugin 8.0.0 и новее добавьте строку в android/gradle.properties:
Минимальная версия SDK – 21 или выше:
Для iOS в Runner → Info → Deployment target → iOS Deployment Target установите версию 13 или выше.
В ios/Podfile закомментируйте строку use_frameworks! (#use_frameworks!).
Начало работы с Flutter
Инициализация SDK
Для инициализации вызовите метод init. Название и путь к файлу лицензии должны совпадать с теми, которые вы указали в pubspec.yaml (например, assets/license.json).
Подключение SDK к API
Для подключения используйте полученные от нас логин, пароль и адрес API сервера.
На стадии коммерческого использования вместо логина и пароля мы рекомендуем использовать токен доступа, который можно получить с помощью метода API /api/authorize/auth.
По умолчанию логи сохраняются вместе с данными по анализам. Если вы планируете хранить логи отдельно от этих данных, настройте отдельное подключение для :
или
Съемка видео
Для запуска съемки и получения результата вызовите метод startLiveness:
Обратите внимание: для версий до 8.11 включительно метод для запуска называется executeLiveness. Он возвращает результат съемки.
Для получения результата съемки в версии 8.12 и новее подпишитесь на livenessResult, как показано ниже:
Выполнение проверок
Размещенный ниже код поможет вам запустить анализы.
Создайте объект Analysis:
Запустите созданный анализ:
Если вы хотите запустить анализ для конкретной папки, укажите ее идентификатор:
Результат анализа запишется в массив объектов analysisResult.
Для анализа медиафайла, полученного не нашим SDK, используйте следующий код:
Итоговый блок кода (пример):
Параметр
Тип
Описание
actions
List<VerificationAction>
Действия на видео
use_main_camera
Boolean
Если установлено True, используется основная камера, False – передняя
final analysisResult = await OZSDK.analyze(analysis, [], {});
final analysisResult = await OZSDK.analyze(analysis, folderID, [], {});
media = Media(FileTypedocumentPhoto, VerificationAction.oneShot, “photo_selfie”, null, <pat
// замените VerificationAction.blank, если у вас используется другой жест Livenes
final cameraMedia = await OZSDK.executeLiveness([VerificationAction.blank], use_main_camera);
final analysis = [
Analysis(Type.quality, Mode.serverBased, cameraMedia, {}),
];
final analysisResult = await OZSDK.analyze(analysis, [], {});
// замените VerificationAction.blank, если у вас используется другой жест Liveness
final cameraMedia = await OZSDK.executeLiveness([VerificationAction.blank], use_main_camera);
final biometryMedia = [...cameraMedia];
biometryMedia.add(
Media(
FileType.documentPhoto,
VerificationAction.blank,
MediaType.movement,
null,
<путь к референсному фото>,
null,
null,
MediaTag.photoSelfie,
),
);
final analysis = [
Analysis(Type.quality, Mode.serverBased, cameraMedia, {}),
Analysis(Type.biometry, Mode.serverBased, biometryMedia, {}),
];
final analysisResult = await OZSDK.analyze(analysis, [], {});