LogoLogo
Switch to EnglishНа сайт Oz ForensicsOz APIСвязаться с нами
  • Общая информация
    • Описание системы Oz Forensics
      • Архитектура Oz
      • Проверки Liveness, Face Matching, Black List
      • Oz API и Oz API Lite
      • Пассивный и активный Liveness
      • Гибридный Liveness
      • Ключевые понятия Oz API
      • Модели использования: SaaS, локальная установка и анализ на устройстве
      • Варианты лицензирования
    • Краткие руководства по интеграции
      • Проверка Liveness на сервере
        • Как интегрировать серверную проверку Liveness в ваше Web-приложение
        • Как интегрировать серверную проверку Liveness в ваше мобильное приложение
        • Как провести проверку медиафайла на Liveness без использования фронтенда Oz
      • Проверка Liveness на устройстве
        • Как интегрировать проверку Liveness на устройстве в ваше мобильное приложение
      • Сравнение лиц
        • Как сравнить лицо из снятого для проверки Liveness видео с лицом из вашей базы данных
        • Как добавить съемку документа и возможность сопоставления лиц в ваше веб- или мобильное приложение
  • Руководства
    • Руководство разработчика
      • API
        • Oz API
          • Как работать с системой: базовые сценарии
            • Аутентификация
            • Загрузка медиафайлов
            • Liveness
            • Биометрия
            • Поиск лучшего кадра
            • Проверка по черному списку
              • Работа с черным списком (коллекцией) в Oz API
            • Результаты анализов
            • Использование вебхуков для получения результатов
          • Объекты системы
          • Роли пользователей
          • Типы анализов и что они проверяют
          • Правила назначения анализов
          • Статусы API
          • Теги медиафайлов
          • Метаданные
          • Ошибки вызова сервиса
          • Коллекции Postman Oz API
          • Журнал изменений
        • Oz API Lite
          • Методы API Lite
          • Коллекция Postman Oz API Lite
          • Журнал изменений
      • SDK
        • Oz Mobile SDK (iOS, Android, Flutter)
          • Выполнение анализов на устройстве
          • Android
            • Получение лицензии
              • Мастер-лицензия для Android
            • Добавление SDK в проект
            • Подключение к API
            • Съемка видео
            • Выполнение проверок
            • Настройка Android SDK
              • Прежний дизайн
            • Локализация для Android: добавление или обновление языкового пакета
            • Методы и поля Android SDK
            • Журнал изменений
          • iOS
            • Получение лицензии
              • Мастер-лицензия для iOS
            • Добавление SDK в приложение
            • Подключение к API
            • Съемка видео
            • Выполнение проверок
            • Настройка iOS SDK
              • Прежний дизайн
            • Локализация для iOS: добавление или обновление языкового пакета
            • Методы и поля iOS SDK
            • Журнал изменений
          • Flutter
            • Установка и использование плагина для Flutter
            • Журнал изменений
        • Oz Liveness Web SDK
          • Web Plugin
            • Добавление плагина на web-страницу
            • Запуск плагина
              • Описание коллбэка on_complete
              • Описание коллбэка on_result
              • Съемка видео и описание коллбэка on_capture_complete
              • Описание коллбэка on_error
            • Скрытие и закрытие плагина
            • Локализация: добавление собственного языкового пакета
            • Настройка интерфейса
              • Настройка интерфейса до версии 1.0.1
            • Рекомендации по безопасности
            • Совместимость с браузерами
            • Лицензирование без использования сервера
          • Журнал изменений
    • Руководство администратора
      • Сервер лицензий
      • Конфигурация Web Adapter
        • Установка и лицензирование
        • Настройки файла конфигурации
        • Настройка Web Adapter через переменные окружения
        • Настройка сервера через переменные окружения
      • Конфигурация API
    • Руководство пользователя
      • Oz Web UI
        • Заявка на анализ
        • Пользователи и компании
        • Черный список
        • Статистика
        • Настройки
        • Журнал изменений
  • Дополнительная информация
    • Обновление ПО в соответствии с новыми требованиями регулятора в Казахстане
    • Требования к качеству медиафайлов
    • Какие проверки выполняют Oz SDK при съемке
    • Размеры медиафайлов, снятых Oz SDK
    • Совместимость
    • FAQ
    • Советы и рекомендации
      • Sudo без пароля
      • Соответствие жестов в компонентах Oz Liveness
      • Android: ошибка валидации сертификата
    • Прежняя версия документации
      • Mobile SDK
        • Android
          • Работа с серверным Oz API
          • Выполнение проверок
        • iOS
          • Выполнение проверок
      • Руководство пользователя
        • Демо-версия приложения Oz Forensics
        • Web UI
      • Мониторинг
      • Установка модулей Oz
        • Стационарный установщик
        • Oz System Lite
Powered by GitBook
On this page
  • Установка и лицензирование
  • Начало работы с Flutter
  • Инициализация SDK
  • Подключение SDK к API
  • Съемка видео
  • Выполнение проверок

Was this helpful?

Export as PDF
  1. Руководства
  2. Руководство разработчика
  3. SDK
  4. Oz Mobile SDK (iOS, Android, Flutter)
  5. Flutter

Установка и использование плагина для Flutter

PreviousFlutterNextЖурнал изменений

Last updated 3 months ago

Was this helpful?

Образец кода для Flutter вы можете найти .

Установка и лицензирование

Добавьте строки из блока ниже в pubspec.yaml проекта, где планируется использовать плагин.

  ozsdk:
    git:
      url: https://gitlab.com/oz-forensics/oz-mobile-flutter-plugin.git
      ref: '8.8.2'

Поместите файл лицензии (например, license.json или forensics.license) в папку Flutter application/assets. В pubspec.yaml добавьте asset:

assets
  - assets/license.json // название файла лицензии должно совпадать с названием из папки assets

Для Android укажите путь к репозиторию Oz в /android/build.gradle, раздел allprojects → repositories:

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url ‘https://ozforensics.jfrog.io/artifactory/main’ } // ссылка на репозиторий
    }
}

Для Flutter 8.24.0 и новее или Android Gradle plugin 8.0.0 и новее добавьте строку в android/gradle.properties:

android.nonTransitiveRClass=false

Минимальная версия SDK – 21 или выше:

defaultConfig {
  ...
  minSDKVersion 21
  ...
}

Для iOS в Runner → Info → Deployment target → iOS Deployment Target установите версию 13 или выше.

В ios/Podfile закомментируйте строку use_frameworks! (#use_frameworks!).

Начало работы с Flutter

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

Для инициализации вызовите метод init. Название и путь к файлу лицензии должны совпадать с теми, которые вы указали в pubspec.yaml (например, assets/license.json).

await OZSDK.initSDK([<% название файла лицензии и путь к нему %>]);

Подключение SDK к API

Для подключения используйте полученные от нас логин, пароль и адрес API сервера.

await OZSDK.setApiConnectionWithCredentials(<login>, <password>, <host>);

На стадии коммерческого использования вместо логина и пароля мы рекомендуем использовать токен доступа, который можно получить с помощью метода API /api/authorize/auth.

 await OZSDK.setApiConnectionWithToken(token, host);
await OZSDK.setEventConnectionWithCredentials(<login>, <password>, <host>);

или

await OZSDK.setEventConnectionWithToken(<token>, <host>);

Съемка видео

Для запуска съемки и получения результата вызовите метод startLiveness:

await OZSDK.startLiveness(<actions>, <use_main_camera>);

Параметр

Тип

Описание

actions

List<VerificationAction>

Действия на видео

use_main_camera

Boolean

Если установлено True, используется основная камера, False – передняя

Обратите внимание: для версий до 8.11 включительно метод для запуска называется executeLiveness. Он возвращает результат съемки.

Для получения результата съемки в версии 8.12 и новее подпишитесь на livenessResult, как показано ниже:

class Screen extends StatefulWidget {
  static const route = 'liveness';

  const Screen({super.key});

  @override
  State<Screen> createState() => _ScreenState();
}

class _ScreenState extends State<Screen> {
  late StreamSubscription<List<Media>> _subscription;

  @override
  void initState() {
    super.initState();

    // подписка на результат liveness
    _subscription = OZSDK.livenessResult.listen(
      (List<Media> medias) {
          // содержит медиафайл liveness
      },
      onError: (Object error) {
        // обработка ошибок, чаще всего PlatformException
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    // пропущено для сокращения образца кода
  }

  void _startLiveness() async {
    // запустите экран съемки с помощью метода startLiveness
    OZSDK.startLiveness(<list of actions>);
  }

  @override
  void dispose() {
    // cancel subscription
    _subscription.cancel();
    super.dispose();
  }
}

Выполнение проверок

Размещенный ниже код поможет вам запустить анализы.

Создайте объект Analysis:

List<Analysis> analysis = [ Analysis(Type.quality, Mode.serverBased, <media>, {}), ];

Запустите созданный анализ:

final analysisResult = await OZSDK.analyze(analysis, [], {}) ?? [];

Результат анализа запишется в массив объектов analysisResult.

Для анализа медиафайла, полученного не нашим SDK, используйте следующий код:

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, [], {});

По умолчанию логи сохраняются вместе с данными по анализам. Если вы планируете хранить логи отдельно от этих данных, настройте отдельное подключение для :

здесь
телеметрии