arrow-left

All pages
gitbookPowered by GitBook
1 of 12

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

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

Для авторизации в Oz API используйте адрес API и токен доступа, как показано ниже.

OzLivenessSDK.setApiConnection(OzConnection.fromServiceToken(host, token))
OzLivenessSDK.INSTANCE.setApiConnection(
        OzConnection.Companion
circle-exclamation

Мы рекомендуем:

  • Указывать адрес API в вашем приложении на экране, предшествующем проверке Liveness. После установки адреса происходит служебный вызов API, и если вы устанавливаете адрес при запуске или инициализации приложения, нагрузка на сервер может быть слишком высокой.

  • Убедиться, что перед вызовом метода createStartIntent вы инициализировали SDK и подключили его к API. Порядок действий значения не имеет, но они должны успешно завершиться к моменту начала работы createStartIntent.

Второй вариант: логин и пароль.

Мы рекомендуем использовать метод аутентификации по токену доступа, как более безопасный.

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

Очистка авторизации:

Проверка наличия сохраненного access-токена Oz API:

LogOut:

.
fromServiceToken
(
host
,
token
),
null
);
телеметрии
OzLivenessSDK.setApiConnection(
    OzConnection.fromCredentials(host, username, password),
    statusListener(
        { token -> /* токен */ },
        { ex -> /* ошибка */ }
    )
)
OzLivenessSDK.INSTANCE.setApiConnection(
        OzConnection.Companion.fromCredentials(host, username, password),
        new StatusListener<String>() {
            @Override
            public void onStatusChanged(@Nullable String s) {}
            @Override
            public void onSuccess(String token) { /* токен */ }
            @Override
            public void onError(@NonNull OzException e) { /* ошибка */ 
        }
);
OzLivenessSDK.setEventsConnection(
    OzConnection.fromCredentials(
        "https://echo.cdn.ozforensics.com/",
        "<[email protected]>",
        "your_telemetry_password"
    )
)
OzLivenessSDK.setEventsConnection(
        OzConnection.fromCredentials(
                "https://tm.ozforensics.com/",
                "<[email protected]>",
                "your_telemetry_password"
        )
);
OzLivenessSDK.setApiConnection(null)
OzLivenessSDK.INSTANCE.setApiConnection(null, null);
val isLoggedIn = OzLivenessSDK.isLoggedIn
boolean isLoggedIn = OzLivenessSDK.INSTANCE.isLoggedIn();
OzLivenessSDK.logout()
OzLivenessSDK.INSTANCE.logout();
}

Android

Работа с OZ Mobile SDK в операционной системе «Android»

Чтобы начать пользоваться нашим SDK, нужно выполнить следующие шаги.

  1. Добавьте SDK в проект, как описано здесь.

  2. Получите лицензию на SDK – сгенерируйте тестовую самостоятельно на нашем сайтеarrow-up-right или запросите «боевую» по электронной почтеenvelope. Для лицензии потребуется application id. Добавьте лицензию в проект, как описано .

  3. SDK к API. Это необязательный шаг, он выполняется, только если вам нужно обрабатывать какие-либо данные на сервере.

  4. Для съемки видео используйте методы, описанные – вы получите медиафайлы, которые потом можно будет отправить на анализ.

  5. Запустите нужные вам проверки для полученных на предыдущем шаге медиафайлов. описано, как выполнять проверки.

  6. Если вы хотите настроить внешний вид SDK, написано, как это делается.

hashtag
Ресурсы

Рекомендуемая версия Android: 5+ (чем новее смартфон, тем быстрее выполняются анализы).

Рекомендуемые версии компонентов:

Мы не поддерживаем эмуляторы.

Доступные языки: EN, RU, ES, HY, KK, KY, TR.

Исходные коды примеров приложений с использованием Oz Liveness SDK расположены в репозитории GitLab:

Список методов и полей SDK:

Актуальную сборку демо-приложения Вы можете загрузить по .

Добавление SDK в проект

В build.gradle проекта добавьте строки:

В build.gradle модуля добавьте строки (VERSION – версия, которую вы планируете добавить. Список версий можно найти в ):

hashtag
для анализов на сервере

Получение лицензии

Сгенерируйте тестовую лицензию самостоятельно (внимание, страница на английском языке) или свяжитесь с нами по для выпуска продуктивной лицензии. Для подготовки лицензии потребуется applicationId (bundle id).

Для добавления файла лицензии в SDK вызовите метод OzLivenessSDK.init с одним из параметров LicenseSources:

Локализация для Android: добавление или обновление языкового пакета

Обратите внимание: описанная ниже функциональность работает, начиная с версии 8.1.0.

Чтобы добавить или обновить языковой пакет для Oz Android SDK, сделайте следующие шаги:

circle-info

Перевод состоит из ключа локализации и соответствующей ему строчки, например, <string name="about">"About"</string>.

Перейдите в папку для нужной локали или создайте такую папку. Детально процесс описан здесьarrow-up-right.

  • Создайте файл и назовите его strings.xml.

  • Скопируйте строки из приложенного файла в только что созданный.

  • Переопределите в переводах строки, которые вам нужны.

  • Список переводов для Android:

    Ключи вида action_*_go относятся к соответствующим жестам. Остальные – к подсказкам для всех жестов, информационным сообщениям или ошибкам.

    Когда вместе с новыми версиями появляются новые ключи, если вы не переопределите соответствующие строки в вашем файле, текст для новых ключей будет показываться на английском языке.

    file-archive
    15KB
    Oz_SDK_Android_Strings.zip
    archive
    arrow-up-right-from-squareOpen
    hashtag
    для анализов и на сервере, и на устройстве

    Обратите внимание: размер выходного файла будет больше.

    Вне зависимости от выбранного режима, добавьте еще:

    allprojects {
      repositories {
        maven { url "https://ozforensics.jfrog.io/artifactory/main" }
      }
    }
    dependencies {
      implementation 'com.ozforensics.liveness:sdk:VERSION'
    }
    Журнале изменений
    dependencies {
    implementation 'com.ozforensics.liveness:full:VERSION'
    }
    android {
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
    }
    LicenseSource.LicenseAssetId должен содержать путь к файлу forensics.license, расположенному в проекте в папке res/raw.
  • LicenseSource.LicenseFilePath должен содержать пусть к файлу на устройстве (вне проекта).

  • OzLivenessSDK.init(context,
        listOf(
            LicenseSource.LicenseAssetId(R.raw.your_license_name),
    
    OzLivenessSDK.INSTANCE.getConfig().setBaseURL(BASE_URL);
    

    Если при обработке лицензии возникнут ошибки, вы получите сообщение с описанием этих ошибок. Если ошибок нет, система выведет данные о лицензии. Вы также можете запросить эти данные с помощью метода getLicensePayload.

    hashtag
    Возможные ошибки лицензии

    Сообщение об ошибке
    Что делать

    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, как показано выше в этой статье

    здесьarrow-up-right
    emailenvelope

    Версия Gradle

    7.5.1

    Версия Kotlin

    1.7.21

    Версия AGP

    7.3.1

    Java Target Level

    1.8

    Версия JDK

    17

    здесь
    Подключите
    здесь
    Здесь
    здесь
    Методы и поля Android SDKchevron-right
    ссылкеarrow-up-right

    Прежний дизайн

    Если вы при обновлении с прежних версий (до 6.4.2 включительно) хотите сохранить привычный для клиентов дизайн, сбросьте настройки интерфейса экрана съемки до значений по умолчанию и примените следующие параметры (приведены только те параметры, которые нужно изменить):

    OzLivenessSDK.config.customization = UICustomization(
        // параметры настройки верхней панели
        toolbarCustomization = 
    
    OzLivenessSDK.INSTANCE.getConfig().setCustomization(new UICustomization(
    // параметры настройки верхней панели
    new ToolbarCustomization(
        R.drawable.ib_close,
        new Color.ColorHex("#FFFFFF"),
        new Color.ColorHex("#000000"),
        100, // непрозрачность фона верхней панели (в %)
        ),
    // параметры настройки текста подсказки
    new CenterHintCustomization(
        70, // положение по вертикали (в %)
    ),
    // параметры настройки анимации подсказки
    new HintAnimation(
        hideAnimation = true
    ),
    // параметры настройки рамки вокруг лица
    new FaceFrameCustomization(     
        new Color.ColorHex("#EC574B"), 
        new Color.ColorHex("#00FF00"),
        6, // ширина линии рамки (в dp)
     ),
    // параметры настройки фона за рамкой
    new BackgroundCustomization(
        100 // непрозрачность фона (в %)
    ),
      )
    );
    LicenseSource.LicenseFilePath("абсолютный путь к файлу лицензии")
    ),
    object : StatusListener<LicensePayload> {
    override fun onSuccess(result: LicensePayload) { /*проверка информации о лицензии*/ }
    override fun onError(error: OzException) { /*обработка исключения */ }
    }
    )
    OzLivenessSDK.INSTANCE.init(context,
    Arrays.asList(
    new LicenseSource.LicenseAssetId(R.raw.forensics),
    new LicenseSource.LicenseFilePath("aбсолютный путь к файлу лицензии")
    ),
    new StatusListener<LicensePayload>() {
    @Override public void onStatusChanged(@Nullable String s) {}
    @Override public void onSuccess(LicensePayload licensePayload) { /*проверка информации о лицензии*/ }
    @Override public void onError(@NonNull OzException e) { /*обработка исключения */ }
    }
    );
    ToolbarCustomization
    (
    closeIconTint = Color.ColorHex("#FFFFFF"),
    backgroundColor = Color.ColorHex("#000000"),
    backgroundAlpha = 100,
    ),
    // параметры настройки текста подсказки
    centerHintCustomization = CenterHintCustomization(
    verticalPosition = 70
    ),
    hintAnimation = HintAnimation(
    hideAnimation = true
    ),
    // параметры настройки рамки вокруг лица
    faceFrameCustomization = FaceFrameCustomization(
    strokeDefaultColor = Color.ColorHex("#EC574B"),
    strokeFaceInFrameColor = Color.ColorHex("#00FF00"),
    strokeWidth = 6,
    ),
    // параметры настройки фона за рамкой
    backgroundCustomization = BackgroundCustomization(
    backgroundAlpha = 100
    ),
    )

    Мастер-лицензия для Android

    Мастер-лицензия – это оффлайн-лицензия, с которой можно использовать мобильные SDK без ограничений по bundle_id, в отличие от обычных лицензий. Для получения мастер-лицензии нужно создать пару ключей, как описано ниже. Отправьте нам публичный ключ по электронной почте, и вскоре после этого мы отправим вам мастер-лицензию. Вашему приложению нужно будет подписать свой bundle_id приватным ключом. Мобильные SDK проверяют подпись с помощью публичного ключа из мастер-лицензии. Действие таких лицензий ограничено по времени.

    hashtag
    Генерация ключей

    В этом разделе описано, как создавать приватный и публичный ключи.

    hashtag
    Создание приватного ключа

    Чтобы создать приватный ключ, последовательно запустите следующие команды:

    Вы получите два файла:

    • privateKey.der – приватный ключ .der;

    • privateKey.txt – privateKey.der в кодировке base64. Содержимое этого файла используется в качестве подписи bundle_id хостового приложения.

    Спецификация команд OpenSSL:

    hashtag
    Создание публичного ключа

    Чтобы создать публичный ключ, запустите команду:

    Вы получите публичный ключ publicKey.pub. Отправьте его нам по электронной почте. В ответ мы пришлем вам лицензию.

    hashtag
    Интеграция SDK

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

    circle-info

    Для Android 6.0 (API 23) и старше:

    1. Добавьте зависимость implementation 'com.madgag.spongycastle:prov:1.58.0.0';

    2. Перед созданием подписи вызовите

    Перед инициализацией SDK создайте закодированную base64 подпись для bundle_id хостового приложения с помощью приватного ключа.

    Пример создания подписи:

    chevron-rightПример подписи для com.ozforensics.liveness.demohashtag

    Внимание: данная подпись не соответствует паре ключей, приведенной выше.

    Передайте подпись как параметр masterLicenseSignature во время инициализации SDK.

    Если подпись невалидна, инициализация продолжится по стандартной схеме: проверка включенных в лицензию bundle_id.

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

    Если наш SDK используется только для съемки, пропустите этот шаг.

    Чтобы выполнить проверку, нужно загрузить в систему медиафайлы, а затем запустить для них анализы.

    circle-info

    Как интерпретировать результаты анализов, описано здесь: .

    Пример работы:

    Security.insertProviderAt(org.spongycastle.jce.provider.BouncyCastleProvider(), 1)
    https://www.openssl.org/docs/man1.1.1/man1/openssl-pkcs8.htmlarrow-up-right
    openssl genpkey -algorithm RSA -outform DER -out privateKey.der -pkeyopt rsa_keygen_bits:2048
    # for MacOS
    base64 -i privateKey.der -o privateKey.txt
    # for Linux 
    base64 -w 0 privateKey.der > privateKey.txt
    openssl rsa -pubout -in privateKey.der -out publicKey.pub
    fun init(
        context: Context,
        licenseSources: List<LicenseSource>,
        masterLicenseSignature: String,
        statusListener: StatusListener<LicensePayload>? = null,
     )
    private fun getMasterSignature(): String {
        Security.insertProviderAt(org.spongycastle.jce.provider.BouncyCastleProvider(), 1)
    
        val privateKeyBase64String = "содержимое файла privateKey.txt"
    
        val sig = Signature.getInstance("SHA512WithRSA")
        val keySpec = PKCS8EncodedKeySpec(Base64.decode(privateKeyBase64String, Base64.DEFAULT))
        val keyFactory = KeyFactory.getInstance("RSA")
        sig.initSign(keyFactory.generatePrivate(keySpec))
        sig.update(packageName.toByteArray(Charsets.UTF_8))
        return Base64.encodeToString(sig.sign(), Base64.DEFAULT).replace("\n", "")
     }
    KohJ1rsUgLMzZHpHGAZDK2efHPnMj9tw9VIedBLvyZt0B2JH3SWfJLJ8X6JNz3bR2sce6PR2wdEIFln0r1pUnD+6WBCgexKIHAv7esiRVQZoZOEANDBwDvJVv73H/0qL2LGlhxKzbBg5CxGPClTBQdLo1P+7HsTXHHG/Hf6m3rdu1OUeGXVPoaS2NzE8kiRH6gb8Nhr7PBLTUeMKTeLoiX13hvwjOqhV1ANhgS97T4hC2+ZilZt4RektgRY/+fGmWnOqErNeYuz/WSInfaJS0YEWhJW3gXKPjdCzNGIBIqbxaFSjU46wu/alh2+tBRFnrYFl1dRQVcTlW0VwwZHcug==
    analysisCancelable = new AnalysisRequest.Builder()
    //mediaToAnalyze – массив объектов OzAbstractMedia
    

    Для удаления медиафайлов после выполнения всех проверок используйте метод clearActionVideos.

    hashtag
    Добавление метаданных

    Для добавления метаданных используйте метод addFolderMeta.

    hashtag
    Извлечение лучшего кадра

    В структуре Analysis можно передать дополнительные параметры, например, для извлечения на сервере лучшего кадра.

    hashtag
    Использование медиафайла, снятого не нашим SDK

    Чтобы использовать медиафайлы, снятые не Oz Android SDK, укажите путь к ним в структуре OzAbstractMedia:

    hashtag
    Добавление медиафайлов в определенную папку

    Для добавления медиафайлов в определенную папку используйте метод setFolderId:

    Типы анализов
    analysisCancelable = AnalysisRequest.Builder()
    // mediaToAnalyze – массив объектов OzAbstractMedia
        .addAnalysis(Analysis(Analysis.Type.QUALITY, Analysis.Mode.SERVER_BASED, mediaToAnalyze))// ON_DEVICE для анализа на устройстве
        .build()
    //запуск анализов и установка обработчиков
        .run(object : AnalysisRequest.AnalysisListener {
            override fun onStatusChange(status: AnalysisRequest.AnalysisStatus) { handleStatus(status) //или ваш обработчик шагов сценария 
            }
            override fun onSuccess(result: RequestResult) {
                handleResults(result) //или ваш обработчик результата
            }
            override fun onError(error: OzException) { handleError(error) //или ваш обработчик ошибок 
            }
        })

    Съемка видео

    Для старта записи видео используется метод startActivityForResult:

    val intent = OzLivenessSDK.createStartIntent(listOf(OzAction.Smile, OzAction.Blank))
    startActivityForResult(intent, REQUEST_CODE)
    List<OzAction> actions  = Arrays.asList(
    

    actions – перечень действий пользователя при записи видео.

    Для представления Fragment код приведен ниже. LivenessFragment – Fragmentarrow-up-right для экрана Liveness.

    circle-exclamation

    Для корректной работы лицензии мы рекомендуем сначала инициализировать SDK, и только потом вызывать открытие экрана Liveness.

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

    • sdkMediaResult – объект с результатами записи видео () для дальнейшего использования при взаимодействии с Oz API.

    • sdkErrorString – описание в случае их возникновения.

    circle-info

    Если наш SDK используется только для съемки, пропустите шаг "Выполнение проверок".

    Если пользователь прервет запись видео (закроет экран), resultCode примет значение Activity.RESULT_CANCELED.

    Пример кода для обработки:

        .addFolderMeta(
            mapOf(
                "key1" to "value1",
                "key2" to "value2"
            )
        )
    .addFolderMeta(Collections.singletonMap("key", "value")) 
    mapOf("extract_best_shot" to true)
           val file = File(context.filesDir, "media.mp4") // замените context.filesDir на context.getExternalFilesDir(null) для внешнего хранилища смартфона
           val media = OzAbsractMedia.OzVideo(OzMediaTag.VideoSelfieSmile, file.absolutePath)
        .setFolderId(folderId)
    .addMedia(mediaToAnalyze)
    .addAnalysis(new Analysis(Analysis.Type.QUALITY, Analysis.Mode.SERVER_BASED, mediaToAnalyze)) //ON_DEVICE для анализа на устройстве
    .build()
    //запуск анализов и установка обработчиков
    .run(new AnalysisRequest.AnalysisListener() {
    @Override
    public void onSuccess(@NonNull RequestResult list) { handleResults(list); } //или ваш обработчик результата
    @Override
    public void onError(@NonNull OzException e) { handleError(e); } //или ваш обработчик ошибок
    @Override
    public void onStatusChange(@NonNull AnalysisRequest.AnalysisStatus analysisStatus) { handleStatus(analysisStatus); } //или ваш обработчик шагов сценария
    });
    OzAction
    .
    Smile
    ,
    OzAction
    .
    Scan
    );
    Intent intent = OzLivenessSDK.createStartIntent(actions);
    startActivityForResult(intent, REQUEST_CODE);
    OzAbstractMedia
    ошибок
    childFragmentManager.beginTransaction()
        .replace(R.id.content, LivenessFragment.create(actions))
        .commit()
    // подписка на результат Fragment
    childFragmentManager.setFragmentResultListener(OzLivenessSDK.Extra.REQUEST_CODE, this) { _, result ->
        when (result.getInt(OzLivenessSDK.Extra.EXTRA_RESULT_CODE)) {
            OzLivenessResultCode.SUCCESS -> { /* запуск анализа */ }
            else -> { /* вывод ошибки */ }  
        }
    }
    getSupportFragmentManager().beginTransaction()
            .replace(R.id.content, LivenessFragment.Companion.create(actions, null, null, false))
            .addToBackStack(null)
            .commit();
    // подписка на результат Fragment
    getSupportFragmentManager().setFragmentResultListener(OzLivenessSDK.Extra.REQUEST_CODE, this, (requestKey, result)
                switch (result.getInt(OzLivenessSDK.Extra.EXTRA_RESULT_CODE)) {
                    case OzLivenessResultCode.SUCCESS: {/* запуск анализа */}
                    default: {/* вывод ошибки */}
                }
            });
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
      super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == REQUEST_CODE) {
          sdkMediaResult = OzLivenessSDK.getResultFromIntent(data)
          sdkErrorString = OzLivenessSDK.getErrorFromIntent(data)
        }
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @androidx.annotation.Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_CODE) {
            List<OzAbstractMedia> sdkMediaResult = OzLivenessSDK.INSTANCE.getResultFromIntent(data);
            String sdkErrorString = OzLivenessSDK.INSTANCE.getErrorFromIntent(data);
        }
    when (resultCode) {
        Activity.RESULT_CANCELED -> *USER CLOSED THE SCREEN*
        OzLivenessResultCode.SUCCESS -> {
            val sdkMediaResult = OzLivenessSDK.getResultFromIntent(data)
            *SUCCESS*
        }
        else -> {
            val errorMessage = OzLivenessSDK.getErrorFromIntent(data)
            *FAILURE*
        }
    }
    ->
    {
    oz-forensics / oz-liveness-android · GitLabGitLabchevron-right

    Настройка Android SDK

    hashtag
    Настройки Oz Mobile SDK

    Применять настройки рекомендуется при старте приложения.

    // подключение к серверу API
    OzLivenessSDK.setApiConnection(OzConnection.fromServiceToken(HOST, TOKEN))
    // настройка количества попыток обнаружить действие
    
    OzConfig config = OzLivenessSDK.INSTANCE.getConfig();
    

    hashtag
    Настройка интерфейса Oz Mobile SDK

    Чтобы настроить интерфейс Oz Liveness, воспользуйтесь UICustomization. Полный список полей находится .

    По умолчанию SDK использует локаль устройства. Чтобы сменить локаль, используйте код ниже:

    OzLivenessSDK.config.attemptSettings = attemptSettings
    // возможность отображения дополнительной информации для отладки (чтобы увидеть данные, нажмите на номер версии SDK)
    OzLivenessSDK.config.allowDebugVisualization = allowDebugVisualization
    // настройки журналирования
    OzLivenessSDK.config.logging = ozLogging
    // подключение к серверу API
    OzLivenessSDK.setApiConnection(OzConnection.fromServiceToken(HOST, TOKEN));
    // настройка количества попыток обнаружить действие
    config.setAttemptSettings(attemptSettings);
    // возможность отображения дополнительной информации для отладки (чтобы увидеть данные, нажмите на номер версии SDK)
    config.setAllowDebugVisualization(allowDebugVisualization);
    // настройки журналирования
    config.setLogging(ozLogging);
    здесь
    OzLivenessSDK.config.customization = UICustomization(
        // параметры настройки верхней панели
        toolbarCustomization = ToolbarCustomization(
            closeIconRes = R.drawable.ib_close,
            closeIconTint = Color.ColorRes(R.color.white),
            titleTextFont = R.font.roboto,
            titleTextSize = 18,
            titleTextAlpha = 100,
            titleTextColor = Color.ColorRes(R.color.white),
            backgroundColor = Color.ColorRes(R.color.black),
            backgroundAlpha = 60,
            isTitleCentered = true,
            title = "Analysis",
        ),
        // параметры настройки текста подсказки
        centerHintCustomization = CenterHintCustomization(
            textFont = R.font.roboto,
            textColor = Color.ColorRes(R.color.text_color),
            textSize = 20,
            verticalPosition = 50,
            textStyle = R.style.Sdk_Text_Primary,
            backgroundColor = Color.ColorRes(R.color.color_surface),
            backgroundOpacity = 56,
            backgroundCornerRadius = 14,
            textAlpha = 100,
        ),
        // параметры настройки анимации подсказки
        hintAnimation = HintAnimation(
        hintGradientColor = Color.ColorRes(R.color.red),
        hintGradientOpacity = 80,
        animationIconSize = 120,
        hideAnimation = false,
    ),
        // параметры настройки рамки вокруг лица
        faceFrameCustomization = FaceFrameCustomization(
            geometryType = GeometryType.Rectangle(10), // 10 – радиус скругления углов
            strokeDefaultColor = Color.ColorRes(R.color.error_red),
            strokeFaceInFrameColor = Color.ColorRes(R.color.success_green),
            strokeAlpha = 100,
            strokeWidth = 5,
            strokePadding = 3,
        ),
        // параметры настройки фона за рамкой
        backgroundCustomization = BackgroundCustomization(
            backgroundColor = Color.ColorRes(R.color.black),
            backgroundAlpha = 60,
        ),
        // параметры настройки текста версии SDK
        versionTextCustomization = VersionTextCustomization(
            textFont = R.font.roboto,
            textSize = 12,
            textColor = Color.ColorRes(R.color.white),
            textAlpha = 100,
        ),
        // параметры настройки дополнительной защиты от мошенничества
        antiScamCustomization = AntiScamCustomization(
            textMessage = "",
            textFont = R.font.roboto,
            textSize = 14,
            textColor = Color.ColorRes(R.color.text_color),
            textAlpha = 100,
            backgroundColor = Color.ColorRes(R.color.color_surface),
            backgroundOpacity = 100,
            cornerRadius = 20,
            flashColor = Color.ColorRes(R.color.green),
        ),
        // параметры настройки логотипа,
        // если лицензия предусматривает возможность его изменения
        logoCustomization = LogoCustomization(
            image = Image.Drawable(R.drawable.ic_logo),
            size = Size(176, 64),
            verticalPosition = 100,
            horizontalPosition = 50,
        )
    )
    OzLivenessSDK.INSTANCE.getConfig().setCustomization(new UICustomization(
    // параметры настройки верхней панели
    new ToolbarCustomization(
        R.drawable.ib_close,
        new Color.ColorRes(R.color.white),
        R.style.Sdk_Text_Primary,
        new Color.ColorRes(R.color.white),
        R.font.roboto,
        Typeface.NORMAL,
        100, // непрозрачность текста на верхней панели (в %)
        18, // размер текста на верхней панели (в sp)
        new Color.ColorRes(R.color.black),
        60, // непрозрачность фона верхней панели (в %)
            "Liveness", // текст на верхней панели
        true // центрировать текст на верхней панели
        ),
    // параметры настройки текста подсказки
    new CenterHintCustomization(
        50, // положение по вертикали (в %)
        R.style.Sdk_Text_Primary,
        R.drawable.bg_center_hint_badge,
        new Color.ColorRes(R.color.color_surface),
        100, // непрозрачность фона
        14, // угловой радиус подложки
        100 // непрозрачность текста
        ),
    // параметры настройки анимации подсказки
    new HintAnimation(
        new Color.ColorRes(R.color.red), // цвет градиента
        80, // непрозрачность цвета градиента (в %)
        120, // размер квадрата, в который вписан значок анимации
        false // скрывать ли анимацию
        ),
    // параметры настройки рамки вокруг лица
    new FaceFrameCustomization(     GeometryType.RECTANGLE,
        10, // угловой радиус для прямоугольника
        new Color.ColorRes(R.color.error_red), 
        new Color.ColorRes(R.color.success_green),
        100, // непрозрачность рамки (в %)
        5, // ширина линии рамки (в dp)
        3 // отступ от рамки до области для позиционирования лица (в dp)
        ),
    // параметры настройки фона за рамкой
    new BackgroundCustomization(
        new Color.ColorRes(R.color.black),
        60 // непрозрачность фона (в %)
        ),
    // параметры настройки текста версии SDK
    new VersionTextCustomization(
        R.style.Sdk_Text_Primary,
        R.font.roboto,
        12, // размер шрифта текста версии (в sp)
        new Color.ColorRes(R.color.white),
        100 // непрозрачность текста версии (в %)
        ),
    // параметры настройки дополнительной защиты от мошенничества
    new AntiScamCustomization(
         "Recording .. ",
        R.font.roboto,
        12,
        new Color.ColorRes(R.color.text_color),
        100,
        R.style.Sdk_Text_Primary,
        new Color.ColorRes(R.color.color_surface),
        100,
        14,
        new Color.ColorRes(R.color.green)
        ),
    // параметры настройки логотипа
    new LogoCustomization(
        new Image.Drawable(R.drawable.ic_logo),
        new Size(176, 64),
        100,
        50
        )
     )
    );
    OzLivenessSDK.config.localizationCode = OzLivenessSDK.OzLocalizationCode.RU
    OzLivenessSDK.INSTANCE.getConfig().setLocalizationCode(OzLivenessSDK.OzLocalizationCode.RU);
    Logo

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

    Журнал изменений для Android.

    hashtag
    9.0.2 – 25.02.2026

    • Обновили внутренние зависимости.

    hashtag
    9.0.1 – 18.02.2026

    • Исправили ошибку, из-за которой SDK мог возвращать "Unknown error" даже в случае успешного прохождения проверки.

    • SDK больше не вылетает из-за некорректного скалирования превью на некоторых устройствах.

    hashtag
    9.0.0 – 10.02.2026

    • Положение логотипа теперь (если изменение логотипа предусмотрено лицензией).

    • Если при проверке лицензии подключение к интернету было прервано, SDK теперь возвращает корректную ошибку.

    hashtag
    8.23.1 – 30.01.2026

    • Исправили проблему, из-за которой на некоторых устройствах видео становилось зеленым.

    • SDK больше не вылетает, если у камеры на устройстве не выставлены необходимые доступы.

    • Исправили незначительные ошибки.

    hashtag
    8.23.0 – 30.12.2025

    • Исправили ошибку, связанную с вылетом SDK из-за ошибок “Invalid to call at Released state” и “Pending dequeue output buffer request cancelled”.

    • Исправили ошибку, связанную с вылетом SDK из-за "java.util.concurrent.TimeoutException".

    • Android SDK теперь передаёт теги ориентации и типа медиа вместе с тегом действия.

    hashtag
    8.22.1 – 10.12.2025

    • Исправили незначительную ошибку.

    hashtag
    8.22.0 – 01.12.2025

    • Исправили ошибки, из-за которых SDK мог иногда вылетать на некоторых моделях телефонов.

    • Повысили безопасность.

    hashtag
    8.21.0 – 12.11.2025

    • Улучшили производительность SDK на некоторых устройствах.

    • Обновили SDK в рамках подготовки к внедрению новой функциональности, связанной с безопасностью.

    hashtag
    8.20.0 – 10.10.2025

    • Исправили ошибку, из-за которой на некоторых моделях телефонов могли записываться зеленые видео.

    • Исправили ошибку с mediaId = null.

    • Повысили безопасность.

    hashtag
    8.19.0 – 15.09.2025

    • Исправили ошибку, из-за которой при запуске Fragment могло появляться предупреждение.

    • SDK больше не вылетает при вызове copyPlane.

    • Если при гибридном анализе вы выбираете отправку сжатых видео, оригинальные видео больше не сохраняются вместе со сжатыми.

    hashtag
    8.18.4 – 29.08.2025

    • Чтобы обеспечить поддержку размера страниц памяти в 16 КБ, перевели TensorFlow на Lite RT.

    hashtag
    8.18.2 – 07.08.2025

    circle-exclamation

    Настоятельно рекомендуем обновиться до этой версии.

    • Исправили ошибку с увеличением длительности и размера видео.

    hashtag
    8.18.0 – 16.07.2025

    • Теперь поддерживаем Google Dynamic Feature Delivery.

    • Исправили ошибку, из-за которой SDK мог вылететь при нажатии кнопки закрытия экрана Liveness.

    • Исправили ошибку вылета SDK с исключением CameraDevice was already closed.

    hashtag
    8.17.3 – 02.07.2025

    • Устранили проблему несовместимости версий OkHttp.

    • Исправили ошибку с Fragment, который не мог обнаружить контекст.

    hashtag
    8.17.2 – 26.06.2025

    • Исправили ошибку доступа к камере, которая иногда возникала на некоторых моделях смартфонов.

    hashtag
    8.17.1 – 23.06.2025

    • Обновления безопасности.

    hashtag
    8.17.0 – 22.05.2025

    • Обновления безопасности.

    hashtag
    8.16.3 – 08.04.2025

    • Обновления безопасности.

    hashtag
    8.16.2 – 19.03.2025

    • Исправили ошибку, из-за которой SDK мог вылететь при закрытии экрана съемки.

    hashtag
    8.16.1 – 14.03.2025

    • Обновления безопасности.

    hashtag
    8.16.0 – 11.03.2025

    • Обновили логику авторизации.

    • Улучшили логику озвучивания подсказок.

    • Исправили наблюдавшуюся на некоторых устройствах ошибку с зависанием SDK после завершения съемки видео.

    hashtag
    8.15.6 – 26.02.2025

    • Обновления безопасности.

    hashtag
    8.15.5 – 18.02.2025

    • Валидацию видео – опцию, которая запускает запись видео заново, если получившийся файл состоит из 3 кадров и менее – теперь можно отключить. Воспользуйтесь настройкой .

    • Исправили ошибку, из-за которой на некоторых моделях телефонов могли записываться зеленые видео.

    • Обновления безопасности.

    hashtag
    8.15.4 – 11.02.2025

    • Исправили ошибки, из-за которых на некоторых моделях телефонов могли возникать сбои.

    hashtag
    8.15.0 – 30.12.2024

    • Добавлен правильный порядок фокусировки для VoiceOver при включенной антискам-подсказке.

    • Добавлена ​​публичная настройка extract_action_shot в Демо Приложении.

    • Исправили ошибки.

    hashtag
    8.14.1 – 05.12.2024

    • Исправили ошибку, из-за которой некоторые записанные SDK видео были зелеными.

    • Исправили проблемы с кодеками, появлявшиеся на некоторых моделях смартфонов.

    hashtag
    8.14.0 – 02.12.2024

    • Обновления доступности для пользователей с инвалидностью согласно требованиям WCAG: можно настроить озвучивание подсказок SDK и элементов управления.

    • Упростили прохождение проверки для жестов, включающих движение головы.

    • Сжатие больших видео теперь происходит позже: на этапе закрытия экрана Liveness.

    hashtag
    8.13.0 – 12.11.2024

    • Обновления безопасности и телеметрии.

    hashtag
    8.12.4 – 01.10.2024

    • Обновления безопасности.

    hashtag
    8.12.2 – 10.09.2024

    • Обновления безопасности.

    hashtag
    8.12.0 – 29.08.2024

    • Обновления безопасности и телеметрии.

    hashtag
    8.11.0 – 19.08.2024

    • Исправили ошибку RuntimeException, появлявшуюся в режиме серверного Liveness на некоторых моделях телефонов.

    • Обновления безопасности.

    hashtag
    8.10.0 – 26.07.2024

    • Обновления безопасности.

    • Исправили ошибки.

    hashtag
    8.9.0 – 18.07.2024

    • Подняли версию плагина Android Gradle до 8.0.0.

    • Улучшили работу SDK.

    hashtag
    8.8.3 – 11.07.2024

    • Улучшили работу SDK.

    hashtag
    8.8.2 – 21.06.2024

    • Обновления безопасности.

    hashtag
    8.8.1 – 12.06.2024

    • Обновления безопасности.

    hashtag
    8.8.0 – 04.06.2024

    • Обновления безопасности.

    hashtag
    8.7.3 – 03.06.2024

    • Обновления безопасности.

    hashtag
    8.7.0 – 06.05.2024

    • При попытке передать пустую строку в качестве аргумента для метода setFolderId теперь показывается информативная ошибка.

    • Исправили ошибку с бесконечно крутящимся спиннером, который появлялся при переключении пользователя на другое приложение во время прохождения проверки Liveness.

    • Исправили несколько ошибок, появлявшихся только на определенных моделях смартфонов.

    hashtag
    8.6.0 – 05.04.2024

    • Улучшили модель Liveness для проверки на устройстве.

    • Обновления безопасности.

    hashtag
    8.5.0 – 27.02.2024

    • Длительность жеста Селфи теперь можно (размер видеофайла также изменится).

    • Вы можете логотип Oz своим, если ваша лицензия это предусматривает.

    • Убрали паузу после жеста Сканирование.

    hashtag
    8.4.4 – 06.02.2024

    • Изменили алгоритм валидации для мастер-лицензии.

    hashtag
    8.4.3 – 29.01.2024

    • Снизили требования к compileSdkVersion с 34 до 33.

    hashtag
    8.4.2 – 15.01.2024

    • Обновления безопасности.

    hashtag
    8.4.0 – 04.01.2024

    • Обновили модель Liveness для проверки на устройстве.

    • Исправили ошибки.

    hashtag
    8.3.3 – 11.12.2023

    • Улучшили работу механизмов лицензирования.

    hashtag
    8.3.2 – 30.11.2023

    • Улучшили работу SDK.

    hashtag
    8.3.1 – 24.11.2023

    • Исправили ошибки.

    hashtag
    8.3.0 – 17.11.2023

    • Добавили возможность использования мастер-лицензии, которая работает с любым bundle_id.

    • Исправили ошибку со сжатием видео при гибридном анализе, которая возникала на некоторых моделях телефонов.

    hashtag
    8.2.1 – 01.11.2023

    • Исправили ошибки.

    hashtag
    8.2.0 – 23.10.2023

    • Добавили в структуру Analysis поле sizeReductionStrategy. Оно определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа.

    • Настройка toFrameGradientColor для кастомизации подсказки hintAnimationCustomization больше не используется. Вместо нее используйте hintGradientColor

    hashtag
    8.1.1 – 02.10.2023

    • Если несколько анализов назначаются на папку одновременно, система отправляет их группой. Таким образом, выбирается “худший” результат среди всех анализов, а не последний назначенный. Прочитать про отправку анализов группой можно .

    • В анализе Liveness для количественного результата теперь берется максимальный из вычисленных. Прочитать о результате можно .

    hashtag
    8.1.0 – 07.09.2023

    • Обновили модель Liveness для проверки на устройстве.

    • Добавили португальский язык (бразильский вариант).

    • Вы теперь можете добавить язык или изменить текущие переводы самостоятельно. Как это сделать, описано .

    hashtag
    8.0.3 – 24.08.2023

    • Исправили ошибки.

    hashtag
    8.0.2 – 13.07.2023

    • При установке baseURL = null SDK теперь работает корректно.

    hashtag
    8.0.1 – 28.06.2023

    • Версии зависимостей SDK приведены в соответствие с версией Kotlin.

    hashtag
    8.0.0 – 19.06.2023

    • Добавлен новый тип анализа – гибридный (сейчас работает только для Liveness). В случае спорных результатов анализа на устройстве проводится дополнительная проверка на сервере.

    • Требования к версии Kotlin понижены до 1.7.21.

    • Обновлены модели для анализов на устройстве.

    chevron-rightИзменения в публичном интерфейсеhashtag

    hashtag
    Новые сущности

    hashtag
    7.3.1 – 07.06.2023

    • Обновили экран настроек.

    • Добавили настройки для фона подсказки.

    • Добавили новые формы рамки (круг, квадрат).

    circle-info

    Обратите внимание: с этой версии используется Kotlin 1.8.20.

    hashtag
    7.2.0 – 04.05.2023

    • Улучшили работу алгоритмов SDK.

    hashtag
    7.1.4 – 30.03.2023

    • Обновили модель для выполнения анализов на устройстве.

    • Обновили анимацию для солнечных очков / маски.

    • Немного уменьшили размеры овала для Liveness.

    hashtag
    7.1.3 – 03.03.2023

    • Исправили ошибку, появлявшуюся при выполнении серверных анализов после использования для авторизации permanentAccessToken.

    hashtag
    7.1.2 – 22.02.2023

    • Добавили возможность .

    • Полосу статуса и системные кнопки теперь можно скрывать (работает с версии 7.0.0).

    • В метод OzLivenessSDK.init теперь нужно первым параметром передавать context

    hashtag
    7.1.1 – 16.01.2023

    • Исправили ошибку с вылетами на версиях Android <6.

    • Поправили расположение овала для некоторых моделей телефонов.

    • Улучшили работу SDK.

    hashtag
    7.1.0 – 16.12.2022

    • Обновили систему безопасности.

    • Добавили некоторые внутренние улучшения.

    • Метод addMedia больше не работает. Для загрузки медиафайлов воспользуйтесь методом uploadMedia.

    hashtag
    7.0.0 – 23.11.2022

    • Из соображений безопасности мы теперь поставляем два типа библиотек: sdk только для серверного анализа и full для серверного анализа и анализа на устройстве.

    • Заменили OzCustomization на UICustomization.

    hashtag
    6.4.2

    • Исправили ошибку с зависаниями на некоторых моделях телефонов.

    • SDK теперь снимает видео в разрешении 720p (с 6.4.2.3).

    hashtag
    6.4.1

    • Наименование режимов анализа приведено в соответствие с iOS: SERVER_BASED и ON_DEVICE.

    • Исправили ошибку с отображением настроек локализации.

    hashtag
    6.4.0

    • Теперь в качестве Liveness-экрана можно использовать Fragment.

    • Добавили новое поле params в структуру Analysis – с его помощью можно задавать дополнительные параметры, например, для извлечения на сервере лучшего кадра. Алгоритм "лучший кадр" выбирает из видеозаписи наиболее качественный и удачный кадр с лицом.

    hashtag
    6.3.7

    • Жесты отдаления и приближения больше не поддерживаются.

    hashtag
    6.3.6

    • Обновили биометрическую модель.

    hashtag
    6.3.5

    • Добавили новую упрощенную структуру AnalysisRequest – теперь конструировать запросы на анализы стало проще и удобнее.

    hashtag
    6.3.4

    • Добавили модуль для выполнения анализов локально на устройстве. Подключите модуль:

    Для запуска анализов biometry и liveness используйте соответствующие методы класса OzLivenessSDK: runOnDeviceBiometryAnalysis и runOnDeviceLivenessAnalysis.

    hashtag
    6.3.3

    • Liveness теперь работает плавнее.

    • На устройствах Xiaomi больше не зависает камера.

    • Оптимизировали преобразования изображений с камеры.

    hashtag
    6.3.1

    • В OzLivenessSDK.uploadMedia добавили параметр metadata и методы OzLivenessSDK.uploadMediaAndAnalyze для передачи metadata в папки.

    hashtag
    6.2.8

    • Добавили функции для инициализации SDK с лицензиями LicenseSources: LicenseSource.LicenseAssetId иLicenseSource.LicenseFilePath. Для инициализации используйте метод OzLivenessSDK.init.

    • Добавили возможность получения информации о лицензии после инициализации val licensePayload = OzLivenessSDK.getLicensePayload().

    hashtag
    6.2.4

    • Добавили киргизский язык.

    hashtag
    6.2.0

    • Добавили функции для локальных анализов.

    • Добавили конфигурацию рамки вокруг лица.

    • Номер версии на экране Liveness теперь отображается корректно.

    hashtag
    6.1.0

    • Добавили поддержку основной камеры.

    hashtag
    6.0.0

    • Добавили жест OneShot.

    • Добавили состояний в OzAnalysisResult.Resolution.

    • Добавили метод uploadMediaAndAnalyze

    hashtag
    5.1.0

    • Токен доступа теперь обновляется автоматически.

    • Переименовали accessToken в permanentAccessToken.

    • Добавили правила R8.

    hashtag
    5.0.2

    • Исправили овальную рамку.

    • Убрали неиспользуемые параметры params из AnalyseRequest.

    • Убрали лимит по умолчанию на количество попыток.

    hashtag
    5.0.0

    • Убрали свойства конфигурации - baseURL, accessToken и так далее. Заменили их на свойство config, которое нужно инициализировать с помощью OzConfig.Builder.

    • Добавили поддержку лицензий. Их нужно устанавливать как raw ресурсы и передавать в OzConfig через setLicenseResourceId.

    Повысили безопасность.

    Обновили ссылку на сайт Oz Forensics.

  • Повысили безопасность.

  • Обновления безопасности и телеметрии.
    SDK больше не вылетает при попытке обратиться к закрытым или не инициализированным ресурсам.
  • Обновления безопасности.

  • Обновления безопасности.
    Исправили ошибку, из-за которой изображение с закрытыми глазами могло быть выбрано в качестве лучшего кадра.
  • Исправили незначительные ошибки.

  • Обновления телеметрии.

  • Если размер записанного видеофайла больше 10 Мбайт, видео будет сжато.
  • Обновления безопасности и журналирования.

  • .
  • Сообщения для получаемых из API ошибок теперь детализированы.

  • Если медиафайл по каким-то причинам не загрузился, система повторяет загрузку.

  • Добавили новый метод для получения идентификатора телеметрии (логирования): getEventSessionId.

  • Методы auth и login больше не используются. Вместо них, пожалуйста, используйте метод setApiConnection.

  • OzConfig.baseURL и OzConfig.permanentAccessToken больше не используются.

  • Если пользователь закрывает экран во время съемки видео, соответствующая ошибка обрабатывается SDK.

  • Исправили ошибки и улучшили работу SDK.

  • На некоторых моделях телефонов исправлена ошибка fatal device.

  • Текст подсказки теперь может выходить за границы рамки для лица по горизонтали (для основной камеры).

  • Фото, снятые во время однокадрового анализа, теперь передаются на сервер в оригинальном размере.

  • Удален класс OzAnalysisResult. В параметре onSuccess метода AnalysisRequest.run вместо списка OzAnalysisResult теперь передается структура RequestResult.

  • Все исключения перенесены в папку com.ozforensics.liveness.sdk.core.exceptions (детальная информация ниже).

  • Связанные с AnalysisRequest классы перенесены в com.ozforensics.liveness.sdk.analysis (детальная информация ниже).

  • Прекращена поддержка методов:

  • AnalysisRequest.Builder.uploadMedia

    AnalysisRequest.Type.HYBRID в com.ozforensics.liveness.sdk.analysis.entity
  • AnalysisError в com.ozforensics.liveness.sdk.analysis.entity

  • SourceMedia в com.ozforensics.liveness.sdk.analysis.entity

  • ResultMedia в com.ozforensics.liveness.sdk.analysis.entity

  • RequestResult в com.ozforensics.liveness.sdk.analysis.entity

  • hashtag
    Перенос

    • NoAnalysisException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • NoNetworkException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • TokenException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • NoMediaInAnalysisException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • EmptyMediaListException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • NoSuchMediaException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    • LicenseException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.security.exception

    • Analysis из com.ozforensics.liveness.sdk.analysis.entity в com.ozforensics.liveness.sdk.core.model

    • AnalysisRequest из com.ozforensics.liveness.sdk.analysis в com.ozforensics.liveness.sdk.core

    • AnalysisListener из com.ozforensics.liveness.sdk.analysis в com.ozforensics.liveness.sdk.core

    • AnalysisStatus из com.ozforensics.liveness.sdk.analysis в com.ozforensics.liveness.sdk.core

    • AnalysisRequest.Builder из com.ozforensics.liveness.sdk.analysis в com.ozforensics.liveness.sdk.core

    • OzException из com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

    hashtag
    Измененные классы

    OzLivenessSDK

    • Удален метод uploadMediaAndAnalyze

    • Удален метод uploadMedia

    • Удален метод runOnDeviceBiometryAnalysis

    • Удален метод runOnDeviceLivenessAnalysis

    AnalysisRequest

    • Удален метод build(): AnalysisRequest

    AnalysisRequest.Builder

    • Удален метод addMedia

    • Удален метод onSuccess(result: List<OzAnalysisResult>)

    • Добавлен метод onSuccess(result: RequestResult)

    Добавили виджет для защиты от мошенничества и набор настроек к нему. С помощью этого виджета вы можете уведомлять пользователей, что ведется съемка видео для, например, отправления заявки на кредит. Таким образом вы сможете защитить пользователей, если мошенники попытаются убедить их подтвердить такой запрос.
  • Метод OzLivenessSDK::init при передаче параметра StatusListener теперь работает корректно.

  • Изменили анимацию жеста "Сканирование".

  • .
  • OzAnalysisResult теперь корректно показывает оценки по серверным анализам.

  • Исправлены ошибки инициализации и некорректного отображения настроек кастомизации, а также ошибки некорректной авторизации на версиях Android < 7.1.1.

  • Значительно расширили
    и обновили дизайн. Если вы хотите вернуть дизайн из прошлых версий, соответствующие настройки описаны
    .
  • Добавили испанский язык.

  • – он загружает список изображений/видео на сервер и сразу отправляет их на анализ.
  • OzMedia превратили в OzAbstractMedia и добавили подклассы изображений и видео.

  • Исправили ошибки камеры на некоторых устройствах.

  • Упростили процесс конфигурации. Свойства config теперь можно менять.

    Убрали методы, которым нужен был контекст. Заменили аналогами.

  • Анализ изображений теперь работает лучше.

  • Убрали ненужные зависимости.

  • Поправили ошибки журналирования.

  • Удаленный метод

    Замена

    OzLivenessSDK.uploadMediaAndAnalyze

    AnalysisRequest.run

    OzLivenessSDK.uploadMedia

    AnalysisRequest.Builder.uploadMedia

    OzLivenessSDK.runOnDeviceBiometryAnalysis

    AnalysisRequest.run

    OzLivenessSDK.runOnDeviceLivenessAnalysis

    AnalysisRequest.run

    AnalysisRequest.build(): AnalysisRequest

    -

    можно настраивать
    disableFramesCountValidation
    менять
    заменить
    здесь
    здесь
    здесь
    анимации подсказки

    AnalysisRequest.Builder.addMedia

    список настроек кастомизации SDK
    здесь
        implementation 'com.ozforensics.liveness:on-device:6.3.4'
    val mediaList: List<OzAbstractMedia> = ...
    val biometryAnalysisResult: OzAnalysisResult = OzLivenessSDK.runOnDeviceBiometryAnalysis(mediaList)
    val livenessAnalysisResult: OzAnalysisResult = OzLivenessSDK.runOnDeviceLivenessAnalysis(mediaList)

    Методы и поля Android SDK

    hashtag
    OzLivenessSDK

    Синглтон (шаблон-одиночка) для Oz SDK.

    hashtag
    clearActionVideos

    Удаляет все видеоролики.

    Параметры

    -

    Возвращает

    -

    hashtag
    createStartIntent

    Создает намерение (intent) для запуска Liveness.

    Возвращает

    -

    hashtag
    getErrorFromIntent

    Запрашивает ошибку из намерения (intent) OnActivityResult (при наличии).

    Возвращает

    Текст ошибки.

    hashtag
    getLicensePayload

    Запрашивает информацию о лицензии SDK.

    Параметры

    -

    Возвращает

    Полную информацию о лицензии – объект .

    hashtag
    getResultFromIntent

    Запрашивает медиафайлы из намерения (intent) OnActivityResult.

    Возвращает

    Массив объектов .

    hashtag
    init

    Инициализирует SDK, используя данные лицензии.

    Возвращает

    -

    hashtag
    log

    Включает журналирование, запуская соответствующие механизмы Oz Liveness SDK.

    Возвращает

    -

    hashtag
    setApiConnection

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

    hashtag
    setEventsConnection

    Подключение к серверу телеметрии.

    hashtag
    logout

    Удаляет сохраненный токен.

    Параметры

    -

    Возвращает

    -

    hashtag
    getEventSessionId

    Запрашивает идентификатор сессии телеметрии.

    Параметры

    -

    Возвращает

    Идентификатор сессии телеметрии (String).

    hashtag
    version

    Запрашивает версию SDK.

    Параметры

    -

    Возвращает

    Номер версии SDK (String).

    hashtag
    generateSignedPayload

    Создает payload с подписями медиафайлов.

    Возвращает

    payload для загрузки вместе с медиафайлами, для которых он был сгенерирован.

    hashtag
    AnalysisRequest

    Класс для выполнения проверок.

    hashtag
    run

    Запускает анализы.

    hashtag
    class Builder

    Конструктор для AnalysisRequest.

    hashtag
    build

    Создает AnalysisRequest.

    Параметры

    -

    Возвращает

    Экземпляр класса AnalysisRequest.

    hashtag
    addAnalysis

    Добавляет в запрос анализ.

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    addAnalyses

    Добавляет в запрос список анализов (можно назначить несколько анализов для одной папки).

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    addFolderMeta

    Добавляет метаданные в создаваемую папку (только для анализа на сервере).

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    uploadMedia

    Добавляет один или несколько медиафайлов в папку для последующего выполнения проверок.

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    setFolderId

    Устанавливает идентификатор для ранее созданной папки. Эта папка должна существовать на сервере, иначе создастся новая.

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    OzConfig

    Конфигурация OzLivenessSDK (используйте OzLivenessSDK.config).

    hashtag
    setSelfieLength

    Устанавливает длительность жеста Селфи (в миллисекундах).

    Возвращает

    Ошибку в случае ее появления.

    hashtag
    allowDebugVisualization

    Возможность отображать дополнительную отладочную информацию при нажатии на текст версии.

    hashtag
    attemptSettings

    Количество попыток выполнить анализы, после которого SDK выдаст ошибку.

    hashtag
    baseURL

    URL сервера API для работы с телеметрией.

    hashtag
    faceAlignmentTimeout

    Время, в течение которого нужно поместить лицо в рамку и выполнить жест (в миллисекундах).

    hashtag
    uploadMediaSettings

    Настройки повторной отправки медиафайлов.

    hashtag
    livenessErrorCallback

    Интерфейс для обработки ошибок.

    hashtag
    localizationCode

    Локализация текста.

    Параметр
    Тип
    Описание

    hashtag
    logging

    Настройки журналирования.

    Параметр
    Тип
    Описание

    hashtag
    useMainCamera

    Включает использование основной (задней) камеры для съемки вместо фронтальной.

    hashtag
    disableFramesCountValidation

    Отключает опцию, которая запускает запись видео заново, если получившийся файл состоит из 3 кадров и менее.

    hashtag
    UICustomization

    Настройки кастомизации OzLivenessSDK (используйте OzLivenessSDK.config.customization).

    hashtag
    hideStatusBar

    Скрывает системные части экрана: полосу статуса и кнопки. По умолчанию имеет значение True.

    hashtag
    toolbarCustomization

    Настройки кастомизации верхней панели.

    hashtag
    centerHintCustomization

    Настройки кастомизации текста подсказки, ориентируясь на который, пользователь снимает фото или видео.

    hashtag
    hintAnimation

    Настройки кастомизации для анимации подсказки.

    hashtag
    faceFrameCustomization

    Настройки кастомизации рамки вокруг лица.

    hashtag
    backgroundCustomization

    Настройки кастомизации фона за рамкой.

    hashtag
    versionTextCustomization

    Настройки кастомизации текста версии SDK.

    hashtag
    antiscamCustomization

    Настройки кастомизации для защиты от мошенничества (сообщение о том, что идет запись).

    hashtag
    logoCustomization

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

    hashtag
    Переменные и объекты

    hashtag
    enum OzAction

    Действие, представленное на видео.

    hashtag
    class LicensePayload

    Содержит расширенную информацию о параметрах лицензии.

    hashtag
    sealed class OzAbstractMedia

    Класс для снятого фото или видео, может быть:

    hashtag
    OzDocumentPhoto

    Фото документа.

    hashtag
    OzShotSet

    Набор кадров (shot set) в архиве.

    hashtag
    OzVideo

    Видео с проверкой Liveness.

    hashtag
    enum OzMediaTag

    Тег в соответствии с жестом на видео.

    hashtag
    sealed class LicenseSource

    Класс для хранения лицензии, может быть:

    hashtag
    LicenseAssetId

    Содержит идентификатор лицензии.

    hashtag
    LicenseFilePath

    Содержит путь к лицензии.

    hashtag
    class AnalysisStatus

    Класс для статуса анализа, может быть:

    hashtag
    RunningAnalysis

    Статус означает, что анализы запущены.

    hashtag
    UploadingMedia

    Статус означает, что в настоящее время загружаются медиафайлы.

    hashtag
    enum Type

    Тип анализа.

    circle-info

    В настоящее время для типа DOCUMENTS режим ON_DEVICE не поддерживается.

    hashtag
    enum Mode

    Режим анализа.

    hashtag
    class Analysis

    Содержит информацию о том, какие анализы и к каким медиафайлам применять.

    hashtag
    enum Resolution

    Сводный статус по выполненным анализам.

    hashtag
    class OzAttemptsSettings

    Количество попыток выполнения анализов, после которого SDK выдаст ошибку.

    hashtag
    enum OzLocalizationCode

    Код языка SDK в соответствии с .

    hashtag
    class OzLogging

    Настройки журналирования.

    hashtag
    sealed class Color

    Настройки цвета, в зависимости от принимаемого значения могут быть:

    hashtag
    ColorRes

    hashtag
    ColorHex

    hashtag
    ColorInt

    hashtag
    enum GeometryType

    Форма рамки.

    hashtag
    class AnalysisError

    Класс для описания ошибок.

    hashtag
    class SourceMedia

    Описывает отправленный на анализ медиафайл.

    hashtag
    class ResultMedia

    Описывает результат анализа для одного медиафайла.

    hashtag
    class RequestResult

    Сводный результат анализа для всех медиафайлов.

    hashtag
    class AnalysisResult

    Описывает результаты анализов для всех медиафайлов в папке.

    hashtag
    class OzConnection

    Определяет метод авторизации.

    hashtag
    OzConnection.fromServiceToken

    Авторизация по токену.

    hashtag
    OzConnection.fromCredentials

    Авторизация по логину и паролю.

    hashtag
    class OzUploadMediaSettings

    Настройки повторной отправки медиафайлов.

    hashtag
    enum SizeReductionStrategy

    Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа. По умолчанию отправляется сжатое видео.

    hashtag
    Возможные ошибки

    Int

    Размер текста на верхней панели (в sp, 12-18)

    titleTextAlpha

    Int

    Непрозрачность текста на верхней панели (в %, 0-100)

    titleTextColor

    Цвет текста на верхней панели

    backgroundColor

    Цвет фона верхней панели

    backgroundAlpha

    Int

    Непрозрачность фона верхней панели (в %, 0-100)

    isTitleCentered

    Boolean

    Центрирует текст на верхней панели

    title

    String

    Текст на верхней панели

    Int

    Непрозрачность текста подсказки (в %, 0-100)

    verticalPosition

    Int

    Положение подсказки по вертикали (от нижнего края экрана, в %, 0-100)

    backgroundColor

    ​

    Цвет фона

    backgroundOpacity

    Int

    Непрозрачность фона

    backgroundCornerRadius

    Int

    Радиус скругления углов рамки фона (в dp, 0-20)

    Int

    Непрозрачность рамки (в %, 0-100)

    strokeWidth

    Int

    Толщина линии (в dp, 0-20)

    strokePadding

    Int

    Отступ от рамки до овала, куда нужно поместить лицо (в dp, 0-10)

    Int

    Непрозрачность текста сообщения (в %, 0-100)

    backgroundColor

    Цвет фона сообщения

    backgroundOpacity

    Int

    Непрозрачность фона сообщения

    cornerRadius

    Int

    Радиус скругления углов рамки фона (в px, 0-20)

    flashColor

    Цвет мигающего индикатора рядом с сообщением

    Подъем головы вверх

    EyeBlink

    Моргание

    Smile

    Улыбка

    String

    Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)

    metaData

    Map<String, String>

    Метаданные медиафайлам

    Видео с жестом «подъем головы наверх»

    VideoSelfieDown

    Видео с жестом «наклон головы вниз»

    VideoSelfieRight

    Видео с жестом «поворот головы направо»

    VideoSelfieLeft

    Видео с жестом «поворот головы налево»

    PhotoIdPortrait

    Фото, извлеченное из документа

    PhotoIdBack

    Фото оборотной стороны документа

    PhotoIdFront

    Фото лицевой стороны документа

    Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа

    Испанский

    PT-BR

    Португальский

    List<String>

    Теги файла

    Тип анализа

    Float

    Итоговая оценка

    analysisId

    String

    Идентификатор анализа

    params

    @RawValue Map<String, Any>

    Дополнительные параметры папки

    error

    Ошибка

    serverRawResponse

    String

    Ответ сервера

    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 во время проверки

    Параметр

    Тип

    Описание

    actions

    OzAction

    Список возможных действий

    Параметр

    Тип

    Описание

    data

    Intent

    Проверяемое намерение

    Параметр

    Тип

    Описание

    data

    Intent

    Проверяемое намерение

    Параметр

    Тип

    Описание

    context

    Context

    Базовый класс Context

    licenseSources

    [LicenseSource]

    Список источников лицензий

    statusListener (опционально)

    StatusListener

    Обработчик для проверки результата

    Параметр

    Тип

    Описание

    tag

    String

    Метка сообщения

    log

    String

    Тело сообщения

    Параметр

    Тип

    Описание

    connection

    OzConnection

    Тип подключения

    statusListener

    StatusListener<String?>

    Обработчик

    Параметр

    Тип

    Описание

    connection

    OzConnection

    Тип подключения

    statusListener

    StatusListener<String?>

    Обработчик

    Параметр

    Тип

    Описание

    media

    OzAbstractMedia

    Массив медиафайлов

    folderMeta (опционально)

    [String: any]

    Дополнительные метаданные папки

    Параметр

    Тип

    Описание

    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]

    Массив структур Analysis

    Параметр

    Тип

    Описание

    key

    String

    Ключ

    value

    String

    Значение

    Параметр

    Тип

    Описание

    mediaList

    [OzAbstractMedia]

    Объект или массив объектов OzAbstractMedia

    Параметр

    Тип

    Описание

    folderID

    String

    Идентификатор папки

    Параметр

    Тип

    Описание

    selfieLength

    Int

    Длительность жеста Селфи (в миллисекундах). Должна быть в пределах 500-5000, по умолчанию – 700

    Параметр

    Тип

    Описание

    allowDebugVisualization

    Boolean

    Включает / выключает отображение дополнительной информации

    Параметр

    Тип

    Описание

    attemptsSettings

    OzAttemptsSettings

    Количество попыток

    Параметр

    Тип

    Описание

    baseURL

    String

    Адрес сервера

    Параметр

    Тип

    Описание

    faceAlignmentTimeout

    Long

    Значение тайм-аута

    Parameter

    Type

    Description

    uploadMediaSettings

    OzUploadMediaSettings

    Устанавливает количество попыток и интервал между ними

    Параметр

    Тип

    Описание

    livenessErrorCallback

    ErrorHandler

    Callback для обработки ошибок

    localizationCode

    OzLocalizationCode

    Код языка SDK

    logging

    OzLogging

    Настройки журналирования

    Параметр

    Тип

    Описание

    useMainCamera

    Boolean

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

    False – фронтальная

    Параметр

    Тип

    Описание

    disableFramesCountValidation

    Boolean

    True – опция отключена,

    False – опция включена

    Параметр

    Тип

    Описание

    closeIconRes

    Int (@DrawableRes)

    Иконка кнопки закрытия

    closeIconTint

    Color

    Цвет кнопки закрытия

    titleTextFont

    Int (@FontRes)

    Шрифт текста на верхней панели

    titleTextFontStyle

    Int (значения из android.graphics.Typeface, например Typeface.BOLD)

    Стиль шрифта текста на верхней панели

    Параметр

    Тип

    Описание

    textFont

    String

    Шрифт текста подсказки

    textStyle

    Int (значения из android.graphics.Typeface, например Typeface.BOLD)

    Стиль текста подсказки

    textSize

    Int

    Размер шрифта текста подсказки (в sp, 12-34)

    textColor

    ​Color​

    Цвет текста подсказки

    Параметр

    Тип

    Описание

    hintGradientColor

    Color

    Цвет градиента

    hintGradientOpacity

    Int

    Непрозрачность градиента

    animationIconSize

    Int

    Размер квадрата, в который вписан значок анимации

    hideAnimation

    Boolean

    Настройки скрытия анимации, при значении True анимация скрывается

    Параметр

    Тип

    Описание

    geometryType

    ​GeometryType​

    Форма рамки (oval, rectangle, circle или square)

    cornerRadius

    Int

    Угловой радиус прямоугольника (в dp, 0-20)

    strokeDefaultColor

    ​Color​

    Цвет рамки, когда лицо не в кадре

    strokeFaceInFrameColor

    ​Color​

    Цвет рамки, когда лицо в кадре

    Параметр

    Тип

    Описание

    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

    Color

    Цвет текста сообщения

    Parameter

    Type

    Description

    image

    Bitmap (@DrawableRes)

    Изображение для лого

    size

    Size

    Размер лого (в dp)

    verticalPosition

    Int (0-100), по умолчанию: 100

    Смещение по вертикали

    horizontalPosition

    Int (0-100), по умолчанию: 0

    Смещение по горизонтали

    Значение

    Описание

    OneShot

    Лучший кадр из снятого видео

    Blank

    Селфи с проверкой позиционирования лица

    Scan

    Сканирование

    HeadRight

    Поворот головы направо

    HeadLeft

    Поворот головы налево

    HeadDown

    Наклон головы вниз

    Параметр

    Тип

    Описание

    expires

    Float

    Период времени, спустя который срок действия лицензии истечет

    features

    Features

    Особенности лицензии

    appIDS

    [String]

    Массив идентификаторов приложений

    Параметр

    Тип

    Описание

    tag

    OzMediaTag

    Тег для фото документа

    photoPath

    String

    Абсолютный путь к фото

    additionalTags (опционально)

    String

    Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)

    metaData

    Map<String, String>

    Метаданные медиафайла

    Параметр

    Тип

    Описание

    tag

    OzMediaTag

    Тег для shot set

    archivePath

    String

    Путь к архиву

    additionalTags (опционально)

    String

    Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag)

    metaData

    Map<String, String>

    Метаданные медиафайла

    Параметр

    Тип

    Описание

    tag

    OzMediaTag

    Тег видео

    videoPath

    String

    URL видео с проверкой Liveness

    bestShotPath (optional)

    String

    URL лучшего кадра в формате PNG

    preferredMediaPath (optional)

    String

    URL медиаконтейнера API

    Значение

    Описание

    Blank

    Видео без определенного жеста

    PhotoSelfie

    Селфи-фото

    VideoSelfieOneShot

    Видео с извлекаемым лучшим кадром

    VideoSelfieScan

    Видео с жестом «сканирование»

    VideoSelfieEyes

    Видео с жестом «моргание»

    VideoSelfieSmile

    Видео с жестом «улыбка»

    Параметр

    Тип

    Описание

    id

    Int

    Идентификатор лицензии

    Параметр

    Тип

    Описание

    path

    String

    Абсолютный путь к лицензии

    Параметр

    Тип

    Описание

    analysis

    Analysis

    Информация о том, какие анализы и к каким медиафайлам применять.

    Параметр

    Тип

    Описание

    media

    OzAbstractMedia

    Объект, который загружается в данный момент

    index

    Int

    Номер объекта в списке

    from

    Int

    Количество объектов

    percentage

    Int

    Процент завершения

    Значение

    Описание

    BIOMETRY

    Позволяет сравнить несколько фото или видео и оценить уровень схожести запечатленных на них людей.

    QUALITY

    Проверяет наличие живого человека в кадре

    DOCUMENTS

    Определяет наличие документа в кадре и проверяет корректность полей документа согласно его типу.

    Значение

    Описание

    ON_DEVICE

    Анализ на устройстве. Мы рекомендуем использовать режим анализа на сервере, поскольку он обеспечивает более точные результаты

    SERVER_BASED

    Анализ на сервере

    HYBRID

    Гибридный анализ для Liveness: если итоговая оценка анализа на устройстве больше определенного порога, медиафайл дополнительно анализируется на сервере

    Параметр

    Тип

    Описание

    type

    Type

    Тип анализа

    mode

    Mode

    Режим анализа

    mediaList

    [OzAbstractMedia]

    Массив объектов OzAbstractMedia

    params (опционально)

    Map<String, Any>

    Дополнительные параметры

    Значение

    Описание

    FAILED

    Один или более анализов не удалось завершить из-за ошибок

    DECLINED

    Проверка не пройдена (лица не совпадают или замечена спуфинг-атака)

    SUCCESS

    Проверка успешно пройдена

    OPERATOR_REQUIRED

    Результат анализов должен быть дополнительно перепроверен оператором

    Параметр

    Тип

    Описание

    singleCount

    Int

    Количество попыток для одного действия/жеста

    commonCount

    Int

    Суммарное количество попыток для всех действий/жестов, если используется последовательность (комбо)

    Значение

    Описание

    EN

    Английский

    RU

    Русский

    HY

    Армянский

    KK

    Казахский

    KY

    Кыргызский

    TR

    Турецкий

    Параметр

    Тип

    Описание

    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

    OzAbstractMedia

    Медиафайл

    Параметр

    Тип

    Описание

    confidenceScore

    Float

    Итоговая оценка

    isOnDevice

    Boolean

    Режим анализа

    resolution

    Resolution

    Общий результат анализа

    sourceMedia

    SourceMedia

    Анализируемый медиафайл

    Параметр

    Тип

    Описание

    analysisResults

    List<AnalysisResult>

    Результат анализа

    folderId

    String

    Идентификатор

    resolution

    Resolution

    Общий результат анализа

    Параметр

    Тип

    Описание

    resolution

    Resolution

    Общий результат анализа

    type

    Type

    Тип анализа

    mode

    Mode

    Режим анализа

    resultMedia

    List<ResultMedia>

    Список результатов отдельных анализов

    Параметр

    Тип

    Описание

    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.

    Жесты на видео не найдены

    LicensePayload
    OzAbstractMedia
    ISO 639-1arrow-up-right

    titleTextSize

    textAlpha

    strokeAlpha

    textAlpha

    HeadUp

    additionalTags (опционально)

    VideoSelfieHigh

    sizeReductionStrategy

    ES

    tags

    type

    confidenceScore

    FORCE_CLOSED = 7

    Color
    Color
    Color
    Color
    Color
    SizeReductionStrategy
    Type
    AnalysisError