Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Работа с OZ Mobile SDK в операционной системе «iOS»
Чтобы начать пользоваться нашим SDK, нужно выполнить следующие шаги.
Добавьте SDK в проект, как описано здесь.
Получите лицензию на SDK – сгенерируйте тестовую самостоятельно на нашем сайте или запросите «боевую» по электронной почте. Для лицензии потребуется bundle id
. Добавьте лицензию в проект, как описано здесь.
Подключите SDK к API. Это необязательный шаг, он выполняется, только если вам нужно обрабатывать какие-либо данные на сервере. Если вы используете режим анализа на устройстве, никакие данные никуда не передаются, и подключение к API не нужно.
Создайте контроллер для съемки, как описано здесь – вы получите медиафайлы, которые потом можно будет отправить на анализ.
Запустите нужные вам проверки для полученных на предыдущем шаге медиафайлов. Здесь описано, как выполнять проверки.
Если вы хотите настроить внешний вид SDK, здесь написано, как это делается.
Минимальная версия iOS: 11.
Минимальная версия Xcode: 15 (для версий 8.10.0 и новее).
Доступные языки: EN, RU, ES, HY, KK, KY, TR.
Исходный код примера приложения с использованием Oz Liveness SDK расположен в репозитории GitLab:
Список методов и полей SDK:
Актуальную сборку демо-приложения Вы можете загрузить по ссылке.
Для авторизации в Oz API используйте адрес API и токен доступа, как показано ниже.
Мы рекомендуем указывать адрес API в вашем приложении на экране, предшествующем проверке Liveness. После установки адреса происходит служебный вызов API, и если вы устанавливаете адрес при запуске или инициализации приложения, нагрузка на сервер может быть слишком высокой.
Второй вариант: логин и пароль.
Мы рекомендуем использовать метод аутентификации по токену доступа, как более безопасный.
По умолчанию логи сохраняются вместе с данными по анализам. Если вы планируете хранить логи отдельно от этих данных, настройте отдельное подключение для телеметрии:
Для добавления OZLivenessSDK в ваше приложение через менеджер зависимостей CocoaPods и интеграции OZLivenessSDK в проект Xcode добавьте в Podfile:
VERSION (опционально, по умолчанию устанавливается последняя версия) – версия, которую можно найти в Журнале изменений.
Начиная с версии 8.1.0, можно использовать упрощенный код:
По умолчанию устанавливается полная версия SDK (с режимами анализа на сервере и на устройстве). Если нужен только серверный анализ, код будет выглядеть так:
Для версий 8.1.0 и выше:
Установка через SPM возможна для SDK версий 8.7.0 и новее.
Добавьте через SPM зависимости пакетов по ссылке: https://gitlab.com/oz-forensics/oz-mobile-ios-sdk (здесь описано, как добавить зависимости). Файл OzLivenessSDK обязателен для добавления, OzLivenessSDKOnDevice можно не добавлять, если вы не используете анализы на устройстве.
Вы также можете добавить файлы SDK в проект вручную.
Скачайте отсюда следующие файлы и добавьте их в проект:
OZLivenessSDK.xcframework,
OZLivenessSDKResources.bundle,
OZLivenessSDKOnDeviceResources.bundle (если вы не используете анализы на устройстве, этот файл можно не скачивать).
Скачайте TensorFlow здесь: потребуется версия 2.11.
Убедитесь, что:
оба файла xcframework отображаются в Target-Build Phases -> Link Binary With Libraries и Target-General -> Frameworks, Libraries, and Embedded Context;
файл(ы) bundle отображаются в Target-Build Phases -> Copy Bundle Resources.
Журнал изменений для iOS.
Улучшили работу SDK.
Добавили поддержку Xcode 16.
Обновления безопасности и телеметрии.
Обновления безопасности.
Исправили ошибки.
Для работы SDK теперь нужен Xcode 15 и новее.
Обновления безопасности.
Исправили ошибки.
Улучшили работу SDK.
Улучшили работу SDK.
Исправили ошибки.
Обновления журналирования.
Обновления безопасности.
При попытке передать пустую строку в качестве аргумента для метода addFolderId
теперь показывается информативная ошибка.
Исправили ошибки.
Синхронизировали с Android сообщения, которые SDK показывает после загрузки медиафайла.
Исправили баг с задержками запуска анализа, которые иногда возникали для анализа по одному кадру.
Убрали паузу после жеста Сканирование.
Обновления безопасности и журналирования.
Обновления безопасности.
Изменили поведение для отсутствующих переводов при добавлении новых ключей в локализацию: теперь вместо названия ключа показывается текст на языке по умолчанию (английском).
Исправили ошибки.
Улучшили работу механизмов лицензирования.
Добавили возможность использования мастер-лицензии, которая работает с любым bundle_id
.
Исправили ошибку с мигающим фоном при съемке.
Исправили ошибки.
Добавили в структуру Analysis
поле sizeReductionStrategy
. Оно определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа.
Сообщения для получаемых из API ошибок теперь более информативны.
Настройка toFrameGradientColor
для кастомизации подсказки hintAnimationCustomization
больше не используется. Вместо нее используйте hintGradientColor
.
Вернули поддержку iOS 11.
Обновили модель Liveness для проверки на устройстве.
Добавили португальский язык (бразильский вариант).
Если медиафайл по каким-то причинам не загрузился, система теперь повторяет загрузку.
Добавили новый метод для получения идентификатора телеметрии (логирования): getEventSessionId
.
Методы setPermanentAccessToken
, configure
и login
больше не используются. Вместо них, пожалуйста, используйте метод setApiConnection
.
Метод setLicense(from path:String)
больше не используется. Вместо него, пожалуйста, используйте метод setLicense(licenseSource: LicenseSource)
.
Исправили ошибки и улучшили работу SDK.
Исправили ошибки, улучшили работу алгоритмов SDK.
Добавлен новый тип анализа – гибридный (сейчас работает только для Liveness). В случае спорных результатов анализа на устройстве проводится дополнительная проверка на сервере.
Обновлены модели для выполнения анализов на устройстве.
Обновили метод run
.
Добавили новые структуры RequestStatus
(статус анализа), ResultMedia
(статус анализов для одного медиафайла) и RequestResult
(сводный результат анализа для всех медиа).
Структура OzAnalysisResult
больше не используется; вместо нее – обновленная структура AnalysisResult
.
Для объекта OZMedia
теперь можно добавить дополнительные теги не из списка основных.
Длительность видео для жеста “Селфи” снижена до 0,7 секунд, соответственно, уменьшились размер файла и время его загрузки на сервер.
Текст подсказки теперь может выходить за границы рамки для лица по горизонтали (для основной камеры).
Прекращена поддержка методов:
Добавили настройки для фона подсказки.
Добавили новые формы рамки (круг, квадрат).
Добавили виджет для защиты от мошенничества и набор настроек к нему. С помощью этого виджета вы можете уведомлять пользователей, что ведется съемка видео для, например, отправления заявки на кредит. Таким образом вы сможете защитить пользователей, если мошенники попытаются убедить их подтвердить такой запрос.
Синхронизировали значения настроек кастомизации по умолчанию с Android.
Добавили испанский язык.
iOS 11 больше не поддерживается; минимальная необходимая версия – 12.
Исправили ошибки, связанные с проведением однокадрового анализа на стороне сервера.
Улучшили работу алгоритмов SDK.
Исправлен баг с серверными анализами при отсутствии видео: если по каким-то причинам видео не загрузилось в папку (например, при потере интернет-соединения), папка будет пустой – без видео и назначенных анализов.
Улучшили работу Liveness-анализов на устройстве.
Обновили анимацию для солнечных очков / маски.
Исправили ошибку с добавлением анализа.document
.
Обновили версию TensorFlow до 2.11.
Исправили несколько багов, в том числе ошибки биометрической проверки, возникавшие на некоторых моделях телефонов.
Добавили возможность управлять цветом анимации.
Обновили модель для выполнения анализов.
Добавили метод uploadMedia
в AnalysisRequest
. Метод addMedia
больше не используется.
Исправили ошибку в жесте Комбо.
Добавили кнопку для сброса настроек языка и темы SDK.
Увеличили тайм-аут сетевых запросов до 90 с.
Добавили возможность управлять размером значка анимации.
Исправили баги.
Синхронизировали нумерацию версий с Android SDK.
Добавили новое поле params
в структуру Analysis
– с его помощью можно задавать дополнительные параметры, например, для извлечения на сервере лучшего кадра. Алгоритм "лучший кадр" выбирает из видеозаписи наиболее качественный и удачный кадр с лицом.
Исправили ошибки локализации.
Поменяли жест Комбо.
Теперь можно запускать проверку Liveness на устройстве для анализа изображений, снятых вне SDK.
Жесты отдаления и приближения больше не поддерживаются.
Добавили новую упрощенную структуру анализа AnalysisRequest.
Добавили методы для локального анализа: runOnDeviceLivenessAnalysis
и runOnDeviceBiometryAnalysis
.
Версию для установки можно выбрать: стандартная установка дает доступ ко всем функциям, а в версии core
(OzLivenessSDK/Core
) отсутствует возможность делать анализы локально на устройстве.
Добавили универсальный метод для загрузки данных на сервер и немедленного запуска анализов: uploadAndAnalyse
.
Дополнили процесс лицензирования: теперь лицензию можно указать при инициализации SDK. Воспользуйтесь методом OZSDK(licenseSources: [LicenseSource], completion: @escaping ((LicenseData?, LicenseError?) -> Void))
, где LicenseSource
– путь до лицензии, LicenseData
– информация о лицензии.
Добавили метод setLicense
для принудительной установки лицензии.
Добавили турецкий язык.
Добавили киргизский язык.
Добавили Completion Handler
для результатов анализа.
Добавили в телеметрию передачу Error User Info
, теперь можно узнавать подробности об ошибке, которая происходит в работе анализа.
Добавили локальные анализы – теперь анализ можно делать прямо на устройстве.
Добавили рамки для лица, теперь их две – овал и прямоугольник.
Теперь поддерживаем Xcode 12.5.1+.
Добавили конфигурацию SDK через лицензии.
Добавили жест One Shot
.
В OZVerificationResult
добавили bestShotURL
(содержит изображение лучшего кадра) и preferredMediaURL
(содержит медиаконтейнер с url лучшего видео для назначения анализа)
При запуске локальной проверки теперь можно указать тип камеры: front / back.
Авторизационные сессии теперь пролонгируются автоматически.
Обновили интерфейсы авторизации.
Добавили казахский язык.
Добавили тексты для ошибок лицензирования.
Сетевые запросы теперь можно отменить.
Для лицензии можно указать Bundle.
Добавили параметризации анализов documentAnalyse
.
Исправили ошибки при сборках проекта. (Xcode 12.4 / Cocoapods 1.10.1).
Добавили поддержку лицензий.
Теперь поддерживаем Xcode 12. 11 поддерживать перестали.
Исправили ошибку documentAnalyse
– анализы не назначались без указания analyseStates
. Теперь все корректно.
Поправили ошибки в сборе логов.
Мастер-лицензия – это оффлайн-лицензия, с которой можно использовать мобильные 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:
Установка лицензии:
Перед инициализацией SDK создайте закодированную base64 подпись для bundle_id
хостового приложения с помощью приватного ключа.
Пример создания подписи:
Передайте подпись как параметр masterLicenseSignature
во время инициализации SDK или установки лицензии.
Если подпись невалидна, инициализация продолжится по стандартной схеме: проверка включенных в лицензию bundle_id
.
Создайте контроллер для съемки видео:
action
– перечень при записи видео.
По окончании съемки вызывается метод onOZLivenessResult(results:[OZMedia])
:
Метод возвращает результаты съемки в виде массива объектов[
]
, которые используются на следующем шаге для выполнения проверок.
Если наш SDK используется только для съемки, пропустите шаг "Выполнение проверок".
Если пользователь прервет запись видео (закроет экран), появится ошибка failedBecauseUserCancelled
.
Для работы SDK требуется лицензия. Сгенерируйте тестовую лицензию самостоятельно (внимание, страница на английском языке) или свяжитесь с нами по для выпуска продуктивной лицензии. Для подготовки лицензии потребуется bundle id
. Есть два способа добавить лицензию в проект:
Переименуйте файл в forensics.license и поместите его в проект. Прописывать путь в этом случае не нужно.
Обновление лицензии для уже работающего приложения или в том случае, если вы хотите держать лицензию вне проекта:
или
LicenseSource
– источник лицензии, LicenseData
– информация о лицензии. В этот метод встроена проверка наличия активной лицензии, если такая лицензия есть – будет использоваться она, а не та, путь к которой вы указали. Для принудительной замены лицензии используйте метод setLicense
.
Если при обработке лицензии возникнут ошибки, вы получите сообщение с описанием этих ошибок. Если ошибок нет, система выведет данные о лицензии. Вы также можете запросить эти данные с помощью OZSDK.licenseData
.
Сообщение об ошибке | Что делать |
---|
Обратите внимание: описанная ниже функциональность работает, начиная с версии 8.1.0.
Чтобы добавить или обновить языковой пакет для Oz iOS SDK, используйте метод set(languageBundle: Bundle)
. Он информирует SDK, что вы планируете использовать отличный от стандартного бандл. В OzLocalizationCode
используйте кастомный язык (опционально).
Перевод состоит из ключа локализации и соответствующей ему строчки, например, "about" = "О программе"
.
Если вы не укажете кастомные язык и бандл, SDK будет использовать имеющиеся переводы.
Если бандл указан, а язык нет, приоритетным считается перевод для ключа из файла локализации кастомного бандла. Если такой ключ там не найден, перевод берется из стандартного бандла.
Если указаны кастомные и бандл, и язык, все переводы берутся из файла локализации кастомного бандла.
Список переводов для iOS:
Ключи вида Action.*.Task
относятся к соответствующим жестам. Остальные – к подсказкам для всех жестов, информационным сообщениям или ошибкам.
При появлении новых ключей, если переводов для них в кастомном бандле нет, будет показываться текст на языке по умолчанию (английском).
Если наш SDK используется только для съемки, пропустите этот шаг.
Чтобы выполнить проверку, нужно загрузить в систему медиафайлы, а затем запустить для них анализы.
Как интерпретировать результаты анализов, описано здесь: .
Пример:
Для удаления медиафайлов после выполнения всех проверок используйте метод clearTempDirectory
.
Для добавления метаданных используйте метод AnalysisRequest.addFolderMeta
.
В структуре Analysis можно передать дополнительные параметры, например, для извлечения на сервере лучшего кадра.
Для добавления медиафайлов в определенную папку используйте метод addFolderId:
Если вы при обновлении с прежних версий (до 6.4.2 включительно) хотите сохранить привычный для клиентов дизайн, сбросьте настройки интерфейса экрана съемки до значений по умолчанию и примените следующие параметры (приведены только те параметры, которые нужно изменить):
Синглтон (шаблон-одиночка) для Oz SDK.
Инициализирует OZSDK, используя данные лицензии. В качестве замыкания передаются либо данные о лицензии, либо .
Возвращает
-
Принудительно устанавливает лицензию.
Запрашивает токен доступа для пользователя.
Возвращает
Токен доступа или ошибку.
Запрашивает токен доступа для отправки телеметрии.
Возвращает
Токен доступа или ошибку.
Проверяет, существует ли токен доступа.
Параметры
-
Возвращает
Результат проверки – true или false.
Удаляет сохраненный токен доступа.
Параметры
-
Возвращает
-
Создает контроллер для проверки Liveness.
Возвращает
UIViewController или исключение.
Создает контроллер для проверки Liveness.
Возвращает
UIViewController или исключение.
Удаляет все видеоролики.
Параметры
-
Возвращает
-
Запрашивает идентификатор сессии телеметрии.
Параметры
-
Возвращает
Идентификатор сессии телеметрии (String).
Устанавливает кастомный бандл, в котором содержатся переводы строк.
Возвращает
-
Устанавливает длительность жеста Селфи (в миллисекундах).
Создает payload
с подписями медиафайлов.
Возвращает
payload
для загрузки вместе с медиафайлами, для которых он был сгенерирован.
Язык SDK (если язык не указывается, локаль устанавливается автоматически).
Хост, к которому обращается система для проверки Liveness.
Количество попыток выполнения анализов, после которого SDK выдаст ошибку.
Версия SDK.
Делегат OZSDK.
Запрашивает результаты проверки Liveness.
Возвращает
-
Обрабатывает ошибки.
Возвращает
-
Протокол для выполнения проверок.
Создает инстанс AnalysisRequest.
Возвращает
Инстанс AnalysisRequest.
Добавляет в AnalysisRequest анализы.
Возвращает
-
Загружает медиафайл(ы) на сервер.
Возвращает
-
Добавляет идентификатор папки для загрузки на сервер.
Возвращает
-
Добавляет в папку метаданные.
Возвращает
-
Запускает анализы.
Возвращает
Результат проверок или ошибку.
Настройки кастомизации OzLivenessSDK (используйте OZSDK.customization
).
Настройки кастомизации верхней панели.
Настройки кастомизации текста подсказки, ориентируясь на который, пользователь снимает фото или видео.
Настройки кастомизации для анимации подсказки.
Настройки кастомизации рамки вокруг лица.
Настройки кастомизации фона за рамкой.
Настройки кастомизации текста версии SDK.
Настройки защиты от мошенников – сообщения, предупреждающего человека о том, что его снимают.
Параметры настройки логотипа, если лицензия предусматривает возможность его изменения.
Источник лицензии.
Полная информация о лицензии
Действие, представленное на видео.
Содержит информацию о медиафайле.
Тип медиафайла.
Описание ошибки.
Содержит информацию о том, какие анализы и к каким медиафайлам применять.
Тип анализа.
В настоящее время для типа DOCUMENTS
режим onDevice
не поддерживается.
Режим анализа.
Отображает статус обработки медиафайлов.
Отображает статус загрузки файлов.
Отображает промежуточный результат обработки анализов.
Описывает результат анализа для одного медиафайла.
Сводный результат анализа для всех медиафайлов.
Содержит результат проверок.
Сводный статус по выполненным анализам.
Содержит результаты одиночных анализов.
Форма рамки.
Возможные ошибки лицензирования.
Тип авторизации.
Настройки повторной отправки медиафайлов.
Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа. По умолчанию отправляется сжатое видео.
Добавили .
Длительность жеста Селфи теперь можно (размер видеофайла также изменится).
Вы можете заменить логотип Oz , если ваша лицензия это предусматривает.
Обновили код в .
Если несколько анализов назначаются на папку одновременно, система отправляет их группой. Таким образом, выбирается “худший” результат среди всех анализов, а не последний назначенный. Прочитать про отправку анализов группой можно .
В анализе Liveness для количественного результата теперь берется максимальный из вычисленных. Прочитать о результате можно .
Вы теперь можете добавить язык или изменить текущие переводы самостоятельно. Как это сделать, описано .
Значительно расширили и обновили дизайн. Если вы хотите вернуть дизайн из прошлых версий, соответствующие настройки описаны .
Синхронизировали ответы методов run
с Android SDK, теперь метод возвращает .
Чтобы использовать медиафайлы, снятые не Oz iOS SDK, укажите путь к ним в структуре (полеbestShotURL
):
Код языка SDK в соответствии с .
Параметр | Тип | Описание |
---|
Удаленный метод | Замена |
analyse | AnalysisRequest.run |
addToFolder | uploadMedia |
documentAnalyse | AnalysisRequest.run |
uploadAndAnalyse | AnalysisRequest.run |
runOnDeviceBiometryAnalysis | AnalysisRequest.run |
runOnDeviceLivenessAnalysis | AnalysisRequest.run |
addMedia | uploadMedia |
Параметр | Тип | Описание |
languageBundle | Bundle | Бандл для поиска переводов |
Параметр | Тип | Описание |
selfieLength | Int | Длительность жеста Селфи (в миллисекундах). Должна быть в пределах 500-5000, по умолчанию – 700 |
Параметр | Тип | Описание |
host | String | Адрес хоста |
Параметр | Тип | Описание |
version | String | Номер версии |
Параметр | Тип | Описание |
folderId (опционально) | String | Идентификатор папки; указывается только в том случае, если нужно загрузить файлы в определенную папку |
Параметр | Тип | Описание |
analysis | Analysis | Структура с информацией об анализах |
Параметр | Тип | Описание |
folderId | String | Идентификатор папки |
Параметр | Тип | Описание |
meta | [String] | Массив метаданных; пример:
|
Параметр | Тип | Описание |
closeButtonIcon | UIImage | Иконка кнопки закрытия |
closeButtonColor | UIColor | Цвет кнопки закрытия, |
titleFont | UIFont | Шрифт текста на верхней панели |
titleColor | UIColor | Цвет текста на верхней панели |
backgroundColor | UIColor | Цвет фона верхней панели |
titleText | String | Текст на верхней панели |
Параметр | Тип | Описание |
textFont | UIFont | Шрифт текста подсказки |
textColor | UIColor | Цвет текста подсказки |
backgroundColor | UIColor | Цвет фона текста подсказки |
verticalPosition | Int | Положение подсказки по вертикали (от верхнего края экрана, в %, 0-100) |
hideTextBackground | Bool | Скрывает подложку подсказки |
backgroundCornerRadius | Int | Угловой радиус подложки |
Параметр | Тип | Описание |
hideAnimation | Bool | Переключатель для отображения анимации, значение |
animationIconSize | CGfloat | Размер стороны квадрата, в который вписана иконка анимации |
hintGradientColor | UIColor | Цвет градиента у рамки |
Параметр | Тип | Описание |
backgroundColor | UIColor | Цвет фона за рамкой |
Параметр | Тип | Описание |
textFont | UIFont | Шрифт текста версии SDK |
textColor | UIColor | Цвет текста версии SDK |
Parameter | Type | Description |
customizationEnableAntiscam | Bool | Включает защиту от мошенников |
customizationAntiscamTextMessage | String | Текст сообщения |
customizationAntiscamTextFont | UIFont | Шрифт текста сообщения |
customizationAntiscamTextColor | UIColor | Цвет текста сообщения |
customizationAntiscamBackgroundColor | UIColor | Цвет подложки сообщения |
customizationAntiscamCornerRadius | CGFloat | Угловой радиус подложки |
customizationAntiscamFlashColor | UIColor | Цвет мигающего индикатора рядом с сообщением |
Parameter | Type | Description |
image | UIImage | Изображение для лого |
size | CGSize | Размер лого (в dp) |
Значение | Описание |
licenseFilePath | Абсолютный путь к лицензии (String) |
licenseFileName | Имя файла лицензии |
Параметр | Тип | Описание |
appIDS | [String] | Массив идентификаторов приложений |
expires | TimeInterval | Период времени, спустя который срок действия лицензии истечет |
features | Features | Особенности лицензии |
configs (опционально) | ABTestingConfigs | Дополнительная конфигурация |
Значение | Описание |
smile | Улыбка |
eyes | Моргание |
scanning | Сканирование |
selfie | Селфи с проверкой позиционирования лица |
one_shot | Лучший кадр из снятого видео |
left | Поворот головы налево |
right | Поворот головы направо |
down | Наклон головы вниз |
up | Подъем головы наверх |
Значение | Описание |
en | Английский |
ru | Русский |
hy | Армянский |
kk | Казахский |
ky | Кыргызский |
tr | Турецкий |
es | Испанский |
pt-BR | Португальский (бразильский вариант) |
custom(String) | Кастомный язык (код языка ISO 639-1, две буквы) |
Значение | Описание |
movement | Видео/фото с действием |
documentBack | Фото оборотной стороны документа |
documentFront | Фото лицевой стороны документа |
Значение | Описание |
userNotProcessed | Проверка не была обработана |
failedBecauseUserCancelled | Проверка была прервана пользователем. |
failedBecauseCameraPermissionDenied | Нельзя выполнить проверку из-за отсутствия доступа к камере |
failedBecauseOfBackgroundMode | Нельзя выполнить проверку, так как приложение было свернуто |
failedBecauseOfTimeout | Нельзя выполнить проверку, так как время, отведенное на проверку, закончилось |
failedBecauseOfAttemptLimit | Нельзя выполнить проверку, так как превышен лимит попыток |
failedBecausePreparingTimout | Нельзя выполнить проверку, так как время, отведенное на съемку, закончилось |
failedBecauseOfLowMemory | Нельзя выполнить проверку, так как не хватает памяти |
Значение | Описание |
biometry | Позволяет сравнить несколько фото или видео и оценить уровень схожести запечатленных на них людей. |
quality | Проверяет наличие живого человека в кадре |
document | Определяет наличие документа в кадре и проверяет корректность полей документа согласно его типу. |
blacklist | Сравнивает лицо снятого на фото или видео человека с лицами из заранее созданной базы медиафайлов |
Значение | Описание |
onDevice | Анализ на устройстве |
serverBased | Анализ на сервере |
hybrid | Гибридный анализ для Liveness: если итоговая оценка анализа на устройстве больше определенного порога, медиафайл дополнительно анализируется на сервере. |
Значение | Описание |
addToFolder | Система создает папку и помещает в нее медиафайлы |
addAnalyses | Система добавляет анализы |
waitAnalysisResult | Система ожидает результата |
Значение | Описание |
INITIAL | Анализы не назначались |
PROCESSING | Анализы выполняются |
FAILED | Один или более анализов не удалось завершить из-за ошибок |
FINISHED | Анализы выполнены |
DECLINED | Проверка не пройдена (лица не совпадают или замечена спуфинг-атака) |
SUCCESS | Проверка успешно пройдена |
OPERATOR_REQUIRED | Результат анализов должен быть дополнительно перепроверен оператором |
Значение | Описание |
oval | Овальная рамка |
rectangle(cornerRadius: CGFloat) | Прямоугольная рамка (угловой радиус рамки) |
circle | Круглая рамка |
square(cornerRadius: CGFloat) | Квадратная рамка (угловой радиус рамки) |
Case | Description |
licenseFileNotFound | Лицензия не найдена |
licenseParseError | Невозможно распознать файл лицензии |
licenseBundleError | Указанный в лицензии |
licenseExpired | Срок действия лицензии истек |
Значение | Описание |
fromServiceToken | Авторизация через токен:
|
fromCredentials | Авторизация через логин и пароль:
|
attemptsCount | Int | Количество попыток загрузки медиафайла |
attemptsTimeout | Int | Интервал времени между попытками |
Case | Description |
uploadOriginal | Исходное видео |
uploadCompressed | Сжатое видео |
uploadBestShot | Полученный из видео лучший кадр |
uploadNothing | Ничего (в этом случае на сервер не отправляется ничего, папка не создается) |
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. | Лицензия не устанавливалась. Добавьте лицензию в проект. |
Параметр | Тип | Описание |
licenseSources | Источник лицензии |
Параметр | Тип | Описание |
licenseSource | Источник лицензии |
Параметр | Тип | Описание |
apiConnection | Параметры авторизации |
Параметр | Тип | Описание |
eventsConnection | Параметры авторизации для телеметрии |
Параметр | Тип | Описание |
delegate | Делегат Oz Liveness |
actions | Действие на видео |
cameraPosition (опционально) | AVCaptureDevice.Position |
|
Параметр | Тип | Описание |
actions | Действие на видео |
FaceCaptureCompletion | type alias пример использования::
|
cameraPosition (опционально) | AVCaptureDevice.Position |
|
Параметр | Тип | Описание |
media | Массив медиафайлов |
Параметр | Тип | Описание |
String | Код локали |
Параметр | Тип | Описание |
singleCount | Int | Количество попыток для одного действия/;tcnf |
commonCount | Int | Суммарное количество попыток для всех действий/жестов, если используется последовательность (комбо) |
faceAlignmentTimeout | Float | Время, в течение которого нужно поместить лицо в рамку |
uploadMediaSettings | Настройки повторной отправки медиафайлов |
Параметр | Тип | Описание |
results | Массив объектов OzMedia |
Параметр | Тип | Описание |
status | Описание ошибки |
Параметр | Тип | Описание |
media | Объект или массив объектов OzMedia |
Параметр | Тип | Описание |
statusHandler | Callback-функция
|
errorHandler | Callback-функция
| Вызывается при возникновении ошибки |
completionHandler | Callback-функция
|
Параметр | Тип | Описание |
geometryType | Форма рамки: овал, прямоугольник, круг или квадрат |
cornerRadius | CGFloat | Угловой радиус прямоугольника/квадрата (в dp) |
strokeFaceNotAlignedColor | UIColor | Цвет рамки, когда лицо не в кадре |
strokeFaceAlignedColor | UIColor | Цвет рамки, когда лицо в кадре |
strokeWidth | CGFloat | Толщина линии (в dp, 0-20) |
strokePadding | CGFloat | Отступ от рамки до овала, куда нужно поместить лицо (в dp, 0-10) |
Параметр | Тип | Описание |
movement | Действие на видео |
mediaType | Тип медиафайла |
metaData | [String] | Метаданные, если есть |
videoURL | URL | URL видео с проверкой Liveness |
bestShotURL | URL | URL лучшего кадра в формате PNG |
preferredMediaURL | URL | URL медиаконтейнера API |
timestamp | Date | Время окончания проверки |
Параметр | Тип | Описание |
media | Массив объектов OzMedia |
type | Тип анализа |
mode | Режим анализа |
sizeReductionStrategy | Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа. |
params (опционально) | String | Дополнительные параметры |
Параметр | Тип | Описание |
media | Объект, который загружается в данный момент |
index | Int | Номер объекта в списке |
from | Int | Количество объектов |
progress | Progress | Статус загрузки |
Параметр | Тип | Описание |
status | Статус обработки анализов |
progressStatus | Статус загрузки медиафайла |
Параметр | Тип | Описание |
resolution | Общий результат анализа |
sourceId | String | Идентификатор медиафайла на сервере |
isOnDevice | Bool | Режим анализа |
confidenceScore | Float | Итоговая оценка |
mediaType | String | Тип медиафайла: VIDEO / IMAGE / SHOT_SET |
media | Анализируемый медиафайл |
error | AnalysisError (наследуется от базового Error) | Ошибка |
Параметр | Тип | Описание |
resolution | Сводный результат анализов |
folderId | String | Идентификатор |
analysisResults | Результаты анализов |
Параметр | Тип | Описание |
resolution | Общий результат анализа |
type | Тип анализа |
mode | Режим анализа |
analysisId | String | Идентификатор анализа |
error | AnalysisError (наследуется от базового Error) | Ошибка |
resultMedia | Список результатов анализов по отдельным медиафайлам |
confidenceScore | Float | Итоговая оценка |
serverRawResponse | String | Ответ сервера |
Параметр | Тип | Описание |
analyseResolutionStatus | Статус анализа |
type | Тип анализа |
folderID | String | Идентификатор папки |
score | Float | Результат выполненной проверки |
[]
Callback-функция, которая вызывается по завершении метода. В качестве замыкания передается либо массив объектов , либо ошибка.
[]
Вызывается в момент смены состояния метода. В качестве замыкания передается , который показывает статус обработки анализов.
Вызывается по завершении метода. В качестве замыкания передается , который содержит информацию о результатах проверок.
[]
[]
[]