Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
В build.gradle
проекта добавьте строки:
В build.gradle
модуля добавьте строки (VERSION – версия, которую вы планируете добавить. Список версий можно найти в Журнале изменений):
Обратите внимание: размер выходного файла будет больше.
Вне зависимости от выбранного режима, добавьте еще:
Для авторизации в Oz API используйте адрес API и токен доступа, как показано ниже.
Мы рекомендуем указывать адрес API в вашем приложении на экране, предшествующем проверке Liveness. После установки адреса происходит служебный вызов API, и если вы устанавливаете адрес при запуске или инициализации приложения, нагрузка на сервер может быть слишком высокой.
Второй вариант: логин и пароль.
Мы рекомендуем использовать метод аутентификации по токену доступа, как более безопасный.
По умолчанию логи сохраняются вместе с данными по анализам. Если вы планируете хранить логи отдельно от этих данных, настройте отдельное подключение для телеметрии:
Очистка авторизации:
Проверка наличия сохраненного access-токена Oz API:
LogOut:
Для старта записи видео используется метод startActivityForResult
:
actions
– перечень действий пользователя при записи видео.
Для представления Fragment код приведен ниже. LivenessFragment
– Fragment для экрана Liveness.
Для получения результатов записи видео используется метод onActivityResult
:
sdkMediaResult
– объект с результатами записи видео (OzAbstractMedia) для дальнейшего использования при взаимодействии с Oz API.
sdkErrorString
– описание ошибок в случае их возникновения.
Если наш SDK используется только для съемки, пропустите шаг "Выполнение проверок".
Если пользователь прервет запись видео (закроет экран), resultCode
примет значение Activity.RESULT_CANCELED
.
Пример кода для обработки:
Если наш SDK используется только для съемки, пропустите этот шаг.
Чтобы выполнить проверку, нужно загрузить в систему медиафайлы, а затем запустить для них анализы.
Как интерпретировать результаты анализов, описано здесь: Типы анализов.
Пример работы:
Для удаления медиафайлов после выполнения всех проверок используйте метод clearActionVideos
.
Для добавления метаданных используйте метод addFolderMeta
.
В структуре Analysis можно передать дополнительные параметры, например, для извлечения на сервере лучшего кадра.
Чтобы использовать медиафайлы, снятые не Oz Android SDK, укажите путь к ним в структуре OzAbstractMedia:
Для добавления медиафайлов в определенную папку используйте метод setFolderId:
Журнал изменений для Android.
Обновления безопасности.
Обновления безопасности.
Обновления безопасности и журналирования.
Исправили ошибку RuntimeException
, появлявшуюся в режиме серверного Liveness на некоторых моделях телефонов.
Обновления безопасности.
Обновления безопасности.
Исправили ошибки.
Подняли версию плагина Android Gradle до 8.0.0.
Улучшили работу SDK.
Улучшили работу SDK.
Обновления безопасности.
Обновления безопасности.
Обновления безопасности.
Обновления безопасности.
При попытке передать пустую строку в качестве аргумента для метода setFolderId
теперь показывается информативная ошибка.
Исправили ошибку с бесконечно крутящимся спиннером, который появлялся при переключении пользователя на другое приложение во время прохождения проверки Liveness.
Исправили несколько ошибок, появлявшихся только на определенных моделях смартфонов.
Улучшили модель Liveness для проверки на устройстве.
Обновления безопасности.
Убрали паузу после жеста Сканирование.
Если размер записанного видеофайла больше 10 Мбайт, видео будет сжато.
Обновления безопасности и журналирования.
Изменили алгоритм валидации для мастер-лицензии.
Снизили требования к compileSdkVersion
с 34 до 33.
Обновления безопасности.
Обновили модель Liveness для проверки на устройстве.
Исправили ошибки.
Улучшили работу механизмов лицензирования.
Улучшили работу SDK.
Исправили ошибки.
Добавили возможность использования мастер-лицензии, которая работает с любым bundle_id
.
Исправили ошибку со сжатием видео при гибридном анализе, которая возникала на некоторых моделях телефонов.
Исправили ошибки.
Добавили в структуру Analysis
поле sizeReductionStrategy
. Оно определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа.
Настройка toFrameGradientColor
для кастомизации подсказки hintAnimationCustomization
больше не используется. Вместо нее используйте hintGradientColor
.
Сообщения для получаемых из API ошибок теперь детализированы.
Обновили модель Liveness для проверки на устройстве.
Добавили португальский язык (бразильский вариант).
Если медиафайл по каким-то причинам не загрузился, система повторяет загрузку.
Добавили новый метод для получения идентификатора телеметрии (логирования): getEventSessionId
.
Методы auth
и login
больше не используются. Вместо них, пожалуйста, используйте метод setApiConnection
.
OzConfig.baseURL
и OzConfig.permanentAccessToken
больше не используются.
Если пользователь закрывает экран во время съемки видео, соответствующая ошибка обрабатывается SDK.
Исправили ошибки и улучшили работу SDK.
Исправили ошибки.
При установке baseURL
= null
SDK теперь работает корректно.
Версии зависимостей SDK приведены в соответствие с версией Kotlin.
Добавлен новый тип анализа – гибридный (сейчас работает только для Liveness). В случае спорных результатов анализа на устройстве проводится дополнительная проверка на сервере.
Требования к версии Kotlin понижены до 1.7.21.
Обновлены модели для анализов на устройстве.
На некоторых моделях телефонов исправлена ошибка fatal device.
Текст подсказки теперь может выходить за границы рамки для лица по горизонтали (для основной камеры).
Фото, снятые во время однокадрового анализа, теперь передаются на сервер в оригинальном размере.
Удален класс OzAnalysisResult
. В параметре onSuccess
метода AnalysisRequest.run
вместо списка OzAnalysisResult
теперь передается структура RequestResult
.
Все исключения перенесены в папку com.ozforensics.liveness.sdk.core.exceptions
(детальная информация ниже).
Связанные с AnalysisRequest классы перенесены в com.ozforensics.liveness.sdk.analysis
(детальная информация ниже).
Прекращена поддержка методов:
Обновили экран настроек.
Добавили настройки для фона подсказки.
Добавили новые формы рамки (круг, квадрат).
Метод OzLivenessSDK::init
при передаче параметра StatusListener
теперь работает корректно.
Изменили анимацию жеста "Сканирование".
Обратите внимание: с этой версии используется Kotlin 1.8.20.
Улучшили работу алгоритмов SDK.
Обновили модель для выполнения анализов на устройстве.
Обновили анимацию для солнечных очков / маски.
Немного уменьшили размеры овала для Liveness.
Исправили ошибку, появлявшуюся при выполнении серверных анализов после использования для авторизации permanentAccessToken.
Полосу статуса и системные кнопки теперь можно скрывать (работает с версии 7.0.0).
В метод OzLivenessSDK.init
теперь нужно первым параметром передавать context
.
OzAnalysisResult
теперь корректно показывает оценки по серверным анализам.
Исправлены ошибки инициализации и некорректного отображения настроек кастомизации, а также ошибки некорректной авторизации на версиях Android < 7.1.1.
Исправили ошибку с вылетами на версиях Android <6.
Поправили расположение овала для некоторых моделей телефонов.
Улучшили работу SDK.
Обновили систему безопасности.
Добавили некоторые внутренние улучшения.
Метод addMedia
больше не работает. Для загрузки медиафайлов воспользуйтесь методом uploadMedia
.
Из соображений безопасности мы теперь поставляем два типа библиотек: sdk только для серверного анализа и full для серверного анализа и анализа на устройстве.
Заменили OzCustomization
на UICustomization
.
Добавили испанский язык.
Исправили ошибку с зависаниями на некоторых моделях телефонов.
SDK теперь снимает видео в разрешении 720p (с 6.4.2.3).
Наименование режимов анализа приведено в соответствие с iOS: SERVER_BASED и ON_DEVICE.
Исправили ошибку с отображением настроек локализации.
Теперь в качестве Liveness-экрана можно использовать Fragment.
Добавили новое поле params
в структуру Analysis
– с его помощью можно задавать дополнительные параметры, например, для извлечения на сервере лучшего кадра. Алгоритм "лучший кадр" выбирает из видеозаписи наиболее качественный и удачный кадр с лицом.
Жесты отдаления и приближения больше не поддерживаются.
Обновили биометрическую модель.
Добавили новую упрощенную структуру AnalysisRequest
– теперь конструировать запросы на анализы стало проще и удобнее.
Добавили модуль для выполнения анализов локально на устройстве. Подключите модуль:
Для запуска анализов biometry и liveness используйте соответствующие методы класса OzLivenessSDK
: runOnDeviceBiometryAnalysis
и runOnDeviceLivenessAnalysis
.
Liveness теперь работает плавнее.
На устройствах Xiaomi больше не зависает камера.
Оптимизировали преобразования изображений с камеры.
В OzLivenessSDK.uploadMedia
добавили параметр metadata
и методы OzLivenessSDK.uploadMediaAndAnalyze
для передачи metadata
в папки.
Добавили функции для инициализации SDK с лицензиями LicenseSources
: LicenseSource.LicenseAssetId
иLicenseSource.LicenseFilePath
. Для инициализации используйте метод OzLivenessSDK.init
.
Добавили возможность получения информации о лицензии после инициализации val licensePayload = OzLivenessSDK.getLicensePayload().
Добавили киргизский язык.
Добавили функции для локальных анализов.
Добавили конфигурацию рамки вокруг лица.
Номер версии на экране Liveness теперь отображается корректно.
Добавили поддержку основной камеры.
Добавили жест OneShot
.
Добавили состояний в OzAnalysisResult.Resolution
.
Добавили метод uploadMediaAndAnalyze
– он загружает список изображений/видео на сервер и сразу отправляет их на анализ.
OzMedia
превратили в OzAbstractMedia
и добавили подклассы изображений и видео.
Исправили ошибки камеры на некоторых устройствах.
Токен доступа теперь обновляется автоматически.
Переименовали accessToken
в permanentAccessToken
.
Добавили правила R8.
Упростили процесс конфигурации. Свойства config
теперь можно менять.
Исправили овальную рамку.
Убрали неиспользуемые параметры params из AnalyseRequest
.
Убрали лимит по умолчанию на количество попыток.
Убрали свойства конфигурации - baseURL
, accessToken
и так далее. Заменили их на свойство config, которое нужно инициализировать с помощью OzConfig.Builder.
Добавили поддержку лицензий. Их нужно устанавливать как raw ресурсы и передавать в OzConfig
через setLicenseResourceId.
Убрали методы, которым нужен был контекст. Заменили аналогами.
Анализ изображений теперь работает лучше.
Убрали ненужные зависимости.
Поправили ошибки журналирования.
Мастер-лицензия – это оффлайн-лицензия, с которой можно использовать мобильные SDK без ограничений по bundle_id
, в отличие от обычных лицензий. Для получения мастер-лицензии нужно создать пару ключей, как описано ниже. Отправьте нам публичный ключ по электронной почте, и вскоре после этого мы отправим вам мастер-лицензию.
Вашему приложению нужно будет подписать свой bundle_id
приватным ключом. Мобильные SDK проверяют подпись с помощью публичного ключа из мастер-лицензии. Действие таких лицензий ограничено по времени.
В этом разделе описано, как создавать приватный и публичный ключи.
Чтобы создать приватный ключ, последовательно запустите следующие команды:
Вы получите два файла:
privateKey.der – приватный ключ .der;
privateKey.txt – privateKey.der в кодировке base64. Содержимое этого файла используется в качестве подписи bundle_id хостового приложения.
Спецификация команд OpenSSL: https://www.openssl.org/docs/man1.1.1/man1/openssl-pkcs8.html
Чтобы создать публичный ключ, запустите команду:
Вы получите публичный ключ publicKey.pub. Отправьте его нам по электронной почте. В ответ мы пришлем вам лицензию.
Инициализация SDK:
Для Android 6.0 (API 23) и старше:
Добавьте зависимость implementation 'com.madgag.spongycastle:prov:1.58.0.0'
;
Перед созданием подписи вызовите Security.insertProviderAt(org.spongycastle.jce.provider.BouncyCastleProvider(), 1)
Перед инициализацией SDK создайте закодированную base64 подпись для bundle_id
хостового приложения с помощью приватного ключа.
Пример создания подписи:
Передайте подпись как параметр masterLicenseSignature
во время инициализации SDK.
Если подпись невалидна, инициализация продолжится по стандартной схеме: проверка включенных в лицензию bundle_id
.
Работа с OZ Mobile SDK в операционной системе «Android»
Чтобы начать пользоваться нашим SDK, нужно выполнить следующие шаги.
Добавьте SDK в проект, как описано здесь.
Получите лицензию на SDK – сгенерируйте тестовую самостоятельно на нашем сайте или запросите «боевую» по электронной почте. Для лицензии потребуется application id
. Добавьте лицензию в проект, как описано здесь.
Подключите SDK к API. Это необязательный шаг, он выполняется, только если вам нужно обрабатывать какие-либо данные на сервере. Если вы используете режим анализа на устройстве, никакие данные никуда не передаются, и подключение к API не нужно.
Для съемки видео используйте методы, описанные здесь – вы получите медиафайлы, которые потом можно будет отправить на анализ.
Запустите нужные вам проверки для полученных на предыдущем шаге медиафайлов. Здесь описано, как выполнять проверки.
Если вы хотите настроить внешний вид SDK, здесь написано, как это делается.
Рекомендуемая версия Android: 5+ (чем новее смартфон, тем быстрее выполняются анализы).
Рекомендуемые версии компонентов:
Мы не поддерживаем эмуляторы.
Доступные языки: EN, RU, ES, HY, KK, KY, TR.
Исходные коды примеров приложений с использованием Oz Liveness SDK расположены в репозитории GitLab:
Список методов и полей SDK:
Актуальную сборку демо-приложения Вы можете загрузить по ссылке.
Сгенерируйте тестовую лицензию самостоятельно здесь (внимание, страница на английском языке) или свяжитесь с нами по email для выпуска продуктивной лицензии. Для подготовки лицензии потребуется applicationId
(bundle id
).
Для добавления файла лицензии в SDK вызовите метод OzLivenessSDK.init
с одним из параметров LicenseSources
:
LicenseSource.LicenseAssetId
должен содержать путь к файлу forensics.license
, расположенному в проекте в папке res/raw.
LicenseSource.LicenseFilePath
должен содержать пусть к файлу на устройстве (вне проекта).
Если при обработке лицензии возникнут ошибки, вы получите сообщение с описанием этих ошибок. Если ошибок нет, система выведет данные о лицензии. Вы также можете запросить эти данные с помощью метода getLicensePayload
.
Сообщение об ошибке | Что делать |
---|---|
Обратите внимание: описанная ниже функциональность работает, начиная с версии 8.1.0.
Чтобы добавить или обновить языковой пакет для Oz Android SDK, сделайте следующие шаги:
Перевод состоит из ключа локализации и соответствующей ему строчки, например, <string name="about">"About"</string>
.
Перейдите в папку для нужной локали или создайте такую папку. Детально процесс описан .
Создайте файл и назовите его strings.xml.
Скопируйте строки из приложенного файла в только что созданный.
Переопределите в переводах строки, которые вам нужны.
Список переводов для Android:
Ключи вида action_*_go
относятся к соответствующим жестам. Остальные – к подсказкам для всех жестов, информационным сообщениям или ошибкам.
Когда вместе с новыми версиями появляются новые ключи, если вы не переопределите соответствующие строки в вашем файле, текст для новых ключей будет показываться на английском языке.
Применять настройки рекомендуется при старте приложения.
Чтобы настроить интерфейс Oz Liveness, воспользуйтесь UICustomization
. Полный список полей находится .
По умолчанию SDK использует локаль устройства. Чтобы сменить локаль, используйте код ниже:
Если вы при обновлении с прежних версий (до 6.4.2 включительно) хотите сохранить привычный для клиентов дизайн, сбросьте настройки интерфейса экрана съемки до значений по умолчанию и примените следующие параметры (приведены только те параметры, которые нужно изменить):
Длительность жеста Селфи теперь можно (размер видеофайла также изменится).
Вы можете логотип Oz своим, если ваша лицензия это предусматривает.
Если несколько анализов назначаются на папку одновременно, система отправляет их группой. Таким образом, выбирается “худший” результат среди всех анализов, а не последний назначенный. Прочитать про отправку анализов группой можно .
В анализе Liveness для количественного результата теперь берется максимальный из вычисленных. Прочитать о результате можно .
Вы теперь можете добавить язык или изменить текущие переводы самостоятельно. Как это сделать, описано .
Добавили виджет для защиты от мошенничества и к нему. С помощью этого виджета вы можете уведомлять пользователей, что ведется съемка видео для, например, отправления заявки на кредит. Таким образом вы сможете защитить пользователей, если мошенники попытаются убедить их подтвердить такой запрос.
Добавили возможность .
Значительно расширили и обновили дизайн. Если вы хотите вернуть дизайн из прошлых версий, соответствующие настройки описаны .
Версия Gradle
7.5.1
Версия Kotlin
1.7.21
Версия AGP
7.3.1
Java Target Level
1.8
Версия JDK
17
License error. License at (your_URI) not found
Отсутствует файл лицензии. Проверьте наименование и путь к файлу.
License error. Cannot parse license from (your_URI), invalid format
Файл лицензии поврежден. Пожалуйста, отправьте его нам по электронной почте.
License error. Bundle company.application.id is not in the list allowed by license (bundle.id1, bundle.id2)
Идентификатор приложения отсутствует в списке разрешенных для данной лицензии идентификаторов. Проверьте написание, если все корректно, нужна новая лицензия.
License error. Current date yyyy-mm-dd hh:mm:ss is later than license expiration date yyyy-mm-dd hh:mm:ss
Срок действия лицензии истек. Пожалуйста, свяжитесь с нами.
License is not initialized. Call 'OzLivenessSDK.init before using SDK
Лицензия не устанавливалась. Вызовите метод OzLivenessSDK.init
, как показано выше в этой статье
Удаленный метод | Замена |
OzLivenessSDK.uploadMediaAndAnalyze | AnalysisRequest.run |
OzLivenessSDK.uploadMedia | AnalysisRequest.Builder.uploadMedia |
OzLivenessSDK.runOnDeviceBiometryAnalysis | AnalysisRequest.run |
OzLivenessSDK.runOnDeviceLivenessAnalysis | AnalysisRequest.run |
AnalysisRequest.build(): AnalysisRequest | - |
AnalysisRequest.Builder.addMedia | AnalysisRequest.Builder.uploadMedia |
Синглтон (шаблон-одиночка) для Oz SDK.
Удаляет все видеоролики.
Параметры
-
Возвращает
-
Создает намерение (intent) для запуска Liveness.
Возвращает
-
Запрашивает ошибку из намерения (intent) OnActivityResult (при наличии).
Возвращает
Текст ошибки.
Запрашивает информацию о лицензии SDK.
Параметры
-
Возвращает
Полную информацию о лицензии – объект LicensePayload.
Запрашивает медиафайлы из намерения (intent) OnActivityResult.
Возвращает
Массив объектов OzAbstractMedia.
Инициализирует SDK, используя данные лицензии.
Возвращает
-
Включает журналирование, запуская соответствующие механизмы Oz Liveness SDK.
Возвращает
-
Подключение к API.
Подключение к серверу телеметрии.
Удаляет сохраненный токен.
Параметры
-
Возвращает
-
Запрашивает идентификатор сессии телеметрии.
Параметры
-
Возвращает
Идентификатор сессии телеметрии (String).
Запрашивает версию SDK.
Параметры
-
Возвращает
Номер версии SDK (String).
Создает payload
с подписями медиафайлов.
Возвращает
payload
для загрузки вместе с медиафайлами, для которых он был сгенерирован.
Класс для выполнения проверок.
Запускает анализы.
Конструктор для AnalysisRequest.
Создает AnalysisRequest.
Параметры
-
Возвращает
Экземпляр класса AnalysisRequest.
Добавляет в запрос анализ.
Возвращает
Ошибку в случае ее появления.
Добавляет в запрос список анализов (можно назначить несколько анализов для одной папки).
Возвращает
Ошибку в случае ее появления.
Добавляет метаданные в создаваемую папку (только для анализа на сервере).
Возвращает
Ошибку в случае ее появления.
Добавляет один или несколько медиафайлов в папку для последующего выполнения проверок.
Возвращает
Ошибку в случае ее появления.
Устанавливает идентификатор для ранее созданной папки. Эта папка должна существовать на сервере, иначе создастся новая.
Возвращает
Ошибку в случае ее появления.
Конфигурация OzLivenessSDK (используйте OzLivenessSDK.config
).
Устанавливает длительность жеста Селфи (в миллисекундах).
Возвращает
Ошибку в случае ее появления.
Возможность отображать дополнительную отладочную информацию при нажатии на текст версии.
Количество попыток выполнить анализы, после которого SDK выдаст ошибку.
URL сервера API для работы с телеметрией.
Время, в течение которого нужно поместить лицо в рамку и выполнить жест (в миллисекундах).
Настройки повторной отправки медиафайлов.
Интерфейс для обработки ошибок.
Локализация текста.
Настройки журналирования.
Включает использование основной (задней) камеры для съемки вместо фронтальной.
Настройки кастомизации OzLivenessSDK (используйте OzLivenessSDK.config.customization
).
Скрывает системные части экрана: полосу статуса и кнопки. По умолчанию имеет значение True
.
Настройки кастомизации верхней панели.
Настройки кастомизации текста подсказки, ориентируясь на который, пользователь снимает фото или видео.
Настройки кастомизации для анимации подсказки.
Настройки кастомизации рамки вокруг лица.
Настройки кастомизации фона за рамкой.
Настройки кастомизации текста версии SDK.
Настройки кастомизации для защиты от мошенничества (сообщение о том, что идет запись).
Параметры настройки логотипа, если лицензия предусматривает возможность его изменения.
Действие, представленное на видео.
Содержит расширенную информацию о параметрах лицензии.
Класс для снятого фото или видео, может быть:
Фото документа.
Набор кадров (shot set) в архиве.
Видео с проверкой Liveness.
Тег в соответствии с жестом на видео.
Класс для хранения лицензии, может быть:
Содержит идентификатор лицензии.
Содержит путь к лицензии.
Класс для статуса анализа, может быть:
Статус означает, что анализы запущены.
Статус означает, что в настоящее время загружаются медиафайлы.
Тип анализа.
В настоящее время для типа DOCUMENTS
режим ON_DEVICE
не поддерживается.
Режим анализа.
Содержит информацию о том, какие анализы и к каким медиафайлам применять.
Сводный статус по выполненным анализам.
Количество попыток выполнения анализов, после которого SDK выдаст ошибку.
Код языка SDK в соответствии с ISO 639-1.
Настройки журналирования.
Настройки цвета, в зависимости от принимаемого значения могут быть:
Форма рамки.
Класс для описания ошибок.
Описывает отправленный на анализ медиафайл.
Описывает результат анализа для одного медиафайла.
Сводный результат анализа для всех медиафайлов.
Описывает результаты анализов для всех медиафайлов в папке.
Определяет метод авторизации.
Авторизация по токену.
Авторизация по логину и паролю.
Настройки повторной отправки медиафайлов.
Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа. По умолчанию отправляется сжатое видео.
Параметр
Тип
Описание
actions
Список возможных действий
Параметр
Тип
Описание
data
Intent
Проверяемое намерение
Параметр
Тип
Описание
data
Intent
Проверяемое намерение
Параметр
Тип
Описание
context
Context
Базовый класс Context
licenseSources
Список источников лицензий
statusListener (опционально)
StatusListener
Обработчик для проверки результата
Параметр
Тип
Описание
tag
String
Метка сообщения
log
String
Тело сообщения
Параметр
Тип
Описание
connection
Тип подключения
statusListener
StatusListener<String?>
Обработчик
Параметр
Тип
Описание
connection
Тип подключения
statusListener
StatusListener<String?>
Обработчик
Параметр
Тип
Описание
media
Массив медиафайлов
Параметр
Тип
Описание
onStatusChange
,
Callback-функция:
onStatusChange(status: AnalysisRequest.AnalysisStatus) { handleStatus() }
Вызывается при изменении статуса AnalysisRequest. Текущий статус отображается в AnalysisStatus.
onError
Callback-функция:
onError(error: OzException) { handleError() }
Вызывается в случае ошибки.
onSuccess
Callback-функция:
onSuccess(result: RequestResult) {
handleResults() }
Вызывается по завершении анализов. В качестве результата передается объект RequestResult.
Параметр
Тип
Описание
analysis
Структура с данными об анализе
Параметр
Тип
Описание
analysis
[Analysis]
Массив структур Analysis
Параметр
Тип
Описание
key
String
Ключ
value
String
Значение
Параметр
Тип
Описание
mediaList
Объект или массив объектов OzAbstractMedia
Параметр
Тип
Описание
folderID
String
Идентификатор папки
Параметр
Тип
Описание
selfieLength
Int
Длительность жеста Селфи (в миллисекундах). Должна быть в пределах 500-5000, по умолчанию – 700
Параметр
Тип
Описание
allowDebugVisualization
Boolean
Включает / выключает отображение дополнительной информации
Параметр
Тип
Описание
attemptsSettings
Количество попыток
Параметр
Тип
Описание
baseURL
String
Адрес сервера
Параметр
Тип
Описание
faceAlignmentTimeout
Long
Значение тайм-аута
Parameter
Type
Description
uploadMediaSettings
Устанавливает количество попыток и интервал между ними
Параметр
Тип
Описание
livenessErrorCallback
ErrorHandler
Callback для обработки ошибок
Параметр
Тип
Описание
localizationCode
Код языка SDK
Параметр
Тип
Описание
logging
Настройки журналирования
Параметр
Тип
Описание
useMainCamera
Boolean
True
– используется основная камера,
False
– фронтальная
Параметр
Тип
Описание
closeIconRes
Int (@DrawableRes)
Иконка кнопки закрытия
closeIconTint
Цвет кнопки закрытия
titleTextFont
Int (@FontRes)
Шрифт текста на верхней панели
titleTextFontStyle
Int (значения из android.graphics.Typeface
, например Typeface.BOLD
)
Стиль шрифта текста на верхней панели
titleTextSize
Int
Размер текста на верхней панели (в sp, 12-18)
titleTextAlpha
Int
Непрозрачность текста на верхней панели (в %, 0-100)
titleTextColor
Цвет текста на верхней панели
backgroundColor
Цвет фона верхней панели
backgroundAlpha
Int
Непрозрачность фона верхней панели (в %, 0-100)
isTitleCentered
Boolean
Центрирует текст на верхней панели
title
String
Текст на верхней панели
Параметр
Тип
Описание
textFont
String
Шрифт текста подсказки
textStyle
Int (значения из android.graphics.Typeface
, например Typeface.BOLD
)
Стиль текста подсказки
textSize
Int
Размер шрифта текста подсказки (в sp, 12-34)
textColor
Color
Цвет текста подсказки
textAlpha
Int
Непрозрачность текста подсказки (в %, 0-100)
verticalPosition
Int
Положение подсказки по вертикали (от нижнего края экрана, в %, 0-100)
backgroundColor
Цвет фона
backgroundOpacity
Int
Непрозрачность фона
backgroundCornerRadius
Int
Радиус скругления углов рамки фона (в dp, 0-20)
Параметр
Тип
Описание
hintGradientColor
Цвет градиента
hintGradientOpacity
Int
Непрозрачность градиента
animationIconSize
Int
Размер квадрата, в который вписан значок анимации
hideAnimation
Boolean
Настройки скрытия анимации, при значении True
анимация скрывается
Параметр
Тип
Описание
geometryType
Форма рамки (oval, rectangle, circle или square)
cornerRadius
Int
Угловой радиус прямоугольника (в dp, 0-20)
strokeDefaultColor
Color
Цвет рамки, когда лицо не в кадре
strokeFaceInFrameColor
Color
Цвет рамки, когда лицо в кадре
strokeAlpha
Int
Непрозрачность рамки (в %, 0-100)
strokeWidth
Int
Толщина линии (в dp, 0-20)
strokePadding
Int
Отступ от рамки до овала, куда нужно поместить лицо (в dp, 0-10)
Параметр
Тип
Описание
backgroundColor
Color
Цвет фона
backgroundAlpha
Int
Непрозрачность фона (в %, 0-100)
Параметр
Тип
Описание
textFont
Int (@FontRes)
Шрифт текста версии SDK
textSize
Int
SDK version text size (в sp, 12-16)
textColor
Color
Цвет текста версии SDK
textAlpha
Int
Непрозрачность текста версии SDK (в %, 20-100)
Параметр
Тип
Описание
textMessage
String
Текст сообщения
textFont
String
Шрифт текста сообщения
textSize
Int
Размер шрифта сообщения (в px, 12-18)
textColor
Цвет текста сообщения
textAlpha
Int
Непрозрачность текста сообщения (в %, 0-100)
backgroundColor
Цвет фона сообщения
backgroundOpacity
Int
Непрозрачность фона сообщения
cornerRadius
Int
Радиус скругления углов рамки фона (в px, 0-20)
flashColor
Цвет мигающего индикатора рядом с сообщением
Parameter
Type
Description
image
Bitmap (@DrawableRes)
Изображение для лого
size
Size
Размер лого (в dp)
Значение
Описание
OneShot
Лучший кадр из снятого видео
Blank
Селфи с проверкой позиционирования лица
Scan
Сканирование
HeadRight
Поворот головы направо
HeadLeft
Поворот головы налево
HeadDown
Наклон головы вниз
HeadUp
Подъем головы вверх
EyeBlink
Моргание
Smile
Улыбка
Параметр
Тип
Описание
expires
Float
Период времени, спустя который срок действия лицензии истечет
features
Features
Особенности лицензии
appIDS
[String]
Массив идентификаторов приложений
Параметр
Тип
Описание
tag
Тег для фото документа
photoPath
String
Абсолютный путь к фото
additionalTags (опционально)
String
Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)
metaData
Map<String, String>
Метаданные медиафайла
Параметр
Тип
Описание
tag
Тег для shot set
archivePath
String
Путь к архиву
additionalTags (опционально)
String
Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)
metaData
Map<String, String>
Метаданные медиафайла
Параметр
Тип
Описание
tag
Тег видео
videoPath
String
URL видео с проверкой Liveness
bestShotPath (optional)
String
URL лучшего кадра в формате PNG
preferredMediaPath (optional)
String
URL медиаконтейнера API
additionalTags (опционально)
String
Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)
metaData
Map<String, String>
Метаданные медиафайлам
Значение
Описание
Blank
Видео без определенного жеста
PhotoSelfie
Селфи-фото
VideoSelfieOneShot
Видео с извлекаемым лучшим кадром
VideoSelfieScan
Видео с жестом «сканирование»
VideoSelfieEyes
Видео с жестом «моргание»
VideoSelfieSmile
Видео с жестом «улыбка»
VideoSelfieHigh
Видео с жестом «подъем головы наверх»
VideoSelfieDown
Видео с жестом «наклон головы вниз»
VideoSelfieRight
Видео с жестом «поворот головы направо»
VideoSelfieLeft
Видео с жестом «поворот головы налево»
PhotoIdPortrait
Фото, извлеченное из документа
PhotoIdBack
Фото оборотной стороны документа
PhotoIdFront
Фото лицевой стороны документа
Параметр
Тип
Описание
id
Int
Идентификатор лицензии
Параметр
Тип
Описание
path
String
Абсолютный путь к лицензии
Параметр
Тип
Описание
analysis
Информация о том, какие анализы и к каким медиафайлам применять.
Параметр
Тип
Описание
media
Объект, который загружается в данный момент
index
Int
Номер объекта в списке
from
Int
Количество объектов
percentage
Int
Процент завершения
Значение
Описание
BIOMETRY
Позволяет сравнить несколько фото или видео и оценить уровень схожести запечатленных на них людей.
QUALITY
Проверяет наличие живого человека в кадре
DOCUMENTS
Определяет наличие документа в кадре и проверяет корректность полей документа согласно его типу.
Значение
Описание
ON_DEVICE
Анализ на устройстве
SERVER_BASED
Анализ на сервере
HYBRID
Гибридный анализ для Liveness: если итоговая оценка анализа на устройстве больше определенного порога, медиафайл дополнительно анализируется на сервере
Параметр
Тип
Описание
type
Тип анализа
mode
Режим анализа
mediaList
Массив объектов OzAbstractMedia
params (опционально)
Map<String, Any>
Дополнительные параметры
sizeReductionStrategy
Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа
Значение
Описание
FAILED
Один или более анализов не удалось завершить из-за ошибок
DECLINED
Проверка не пройдена (лица не совпадают или замечена спуфинг-атака)
SUCCESS
Проверка успешно пройдена
OPERATOR_REQUIRED
Результат анализов должен быть дополнительно перепроверен оператором
Параметр
Тип
Описание
singleCount
Int
Количество попыток для одного действия/жеста
commonCount
Int
Суммарное количество попыток для всех действий/жестов, если используется последовательность (комбо)
Значение
Описание
EN
Английский
RU
Русский
HY
Армянский
KK
Казахский
KY
Кыргызский
TR
Турецкий
ES
Испанский
PT-BR
Португальский
Параметр
Тип
Описание
allowDefaultLogging
Boolean
Включает запись в LogCat
allowFileLogging
Boolean
Включает запись в файл
journalObserver
StatusListener
Обработчик для получения событий на стороне приложения
Параметр
Тип
Описание
resId
Int
Ссылка на цвет в системе ресурсов Android
Параметр
Тип
Описание
hex
String
Цвет в формате HEX (например #FFFFFF)
Параметр
Тип
Описание
color
Int
Int-значение цвета в Android
Значение
Описание
Oval
Овал
Rectangle
Прямоугольник
Circle
Круг
Square
Квадрат
Параметр
Тип
Описание
apiErrorCode
Int
Код ошибки
message
String
Сообщение
Параметр
Тип
Описание
mediaId
String
Идентификатор медиафайла
mediaType
String
Тип медиа
originalName
String
Первоначальное название файла
ozMedia
Медиафайл
tags
List<String>
Теги файла
Параметр
Тип
Описание
confidenceScore
Float
Итоговая оценка
isOnDevice
Boolean
Режим анализа
resolution
Общий результат анализа
sourceMedia
Анализируемый медиафайл
type
Тип анализа
Параметр
Тип
Описание
analysisResults
List<AnalysisResult>
Результат анализа
folderId
String
Идентификатор
resolution
Общий результат анализа
Параметр
Тип
Описание
resolution
Общий результат анализа
type
Тип анализа
mode
Режим анализа
resultMedia
List<ResultMedia>
Список результатов отдельных анализов
confidenceScore
Float
Итоговая оценка
analysisId
String
Идентификатор анализа
params
@RawValue Map<String, Any>
Дополнительные параметры папки
error
Ошибка
serverRawResponse
String
Ответ сервера
Параметр
Тип
Описание
host
String
Адрес сервера API
token
String
Токен доступа
Параметр
Тип
Описание
host
String
Адрес сервера API
username
String
Логин
password
String
Пароль
Параметр
Тип
Описание
attemptsCount
Int
Количество попыток отправки медиафайлов
attemptsTimeout
Int
Интервал времени между попытками
Значение
Описание
UPLOAD_ORIGINAL
Исходное видео
UPLOAD_COMPRESSED
Сжатое видео
UPLOAD_BEST_SHOT
Полученный из видео лучший кадр
UPLOAD_NOTHING
Ничего (в этом случае на сервер не отправляется ничего, папка не создается)
Код ошибки
Сообщение
Описание
ERROR = 3
Error.
Неизвестная ошибка
ATTEMPTS_EXHAUSTED_ERROR = 4
Error. Attempts exhausted for liveness action.
Превышено количество попыток анализа
VIDEO_RECORD_ERROR = 5
Error by video record.
Ошибка записи видео
NO_ACTIONS_ERROR = 6
Error. OzLivenessSDK started without actions.
Жесты на видео не найдены
FORCE_CLOSED = 7
Error. Liveness activity is force closed from client application.
Клиент закрыл экран Liveness во время работы
DEVICE_HAS_NO_FRONT_CAMERA = 8
Error. Device has not front camera.
Фронтальная камера на устройстве не найдена
DEVICE_HAS_NO_MAIN_CAMERA = 9
Error. Device has not main camera.
Задняя (основная) камера на устройстве не найдена
DEVICE_CAMERA_CONFIGURATION_NOT_SUPPORTED = 10
Error. Device camera configuration is not supported.
Liveness не поддерживает конфигурацию камеры на устройстве
FACE_ALIGNMENT_TIMEOUT = 12
Error. Face alignment timeout in OzLivenessSDK.config.faceAlignmentTimeout milliseconds
Время подготовки, выделенное на съемку, истекло
ERROR = 13
The check was interrupted by user
Пользователь закрыл экран Liveness во время проверки