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

## OzLivenessSDK <a href="#h.srint1odv7up" id="h.srint1odv7up"></a>

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

### clearActionVideos <a href="#h.v7emb3puz0to" id="h.v7emb3puz0to"></a>

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

**Параметры**

\-

**Возвращает**

\-

### createStartIntent <a href="#h.o3q1axfvyzkv" id="h.o3q1axfvyzkv"></a>

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

| **Параметр** | **Тип**                     | **Описание**              |
| ------------ | --------------------------- | ------------------------- |
| actions      | [OzAction](#h.2nyke2meu4aw) | Список возможных действий |

**Возвращает**

\-

### getErrorFromIntent <a href="#h.dyb7eskvgo2q" id="h.dyb7eskvgo2q"></a>

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

| **Параметр** | **Тип** | **Описание**          |
| ------------ | ------- | --------------------- |
| data         | Intent  | Проверяемое намерение |

**Возвращает**

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

### getLicensePayload <a href="#h.zeqs2fsfeouy" id="h.zeqs2fsfeouy"></a>

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

**Параметры**

\-

**Возвращает**

Полную информацию о лицензии – объект [LicensePayload](#h.9bjpbnuuoup5).

### getResultFromIntent <a href="#h.ebozypf5fj8t" id="h.ebozypf5fj8t"></a>

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

| **Параметр** | **Тип** | **Описание**          |
| ------------ | ------- | --------------------- |
| data         | Intent  | Проверяемое намерение |

**Возвращает**

Массив объектов [OzAbstractMedia](#h.s2ye0si7dzc2).

### init <a href="#h.710uqx6hv1hw" id="h.710uqx6hv1hw"></a>

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

| **Параметр**                 | **Тип**                             | **Описание**                       |
| ---------------------------- | ----------------------------------- | ---------------------------------- |
| context                      | Context                             | Базовый класс Context              |
| licenseSources               | \[[LicenseSource](#h.au17vzy38ai3)] | Список источников лицензий         |
| statusListener (опционально) | StatusListener                      | Обработчик для проверки результата |

**Возвращает**

\-

### log <a href="#h.p6ixdyi0k6gr" id="h.p6ixdyi0k6gr"></a>

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

| **Параметр** | **Тип** | **Описание**    |
| ------------ | ------- | --------------- |
| tag          | String  | Метка сообщения |
| log          | String  | Тело сообщения  |

**Возвращает**

\-

### setApiConnection

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

| **Параметр**   | **Тип**                             | **Описание**    |
| -------------- | ----------------------------------- | --------------- |
| connection     | [OzConnection](#class-ozconnection) | Тип подключения |
| statusListener | StatusListener\<String?>            | Обработчик      |

### setEventsConnection

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

<table data-header-hidden><thead><tr><th></th><th width="261.3333333333333"></th><th></th></tr></thead><tbody><tr><td><strong>Параметр</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>connection</td><td><a href="#class-ozconnection">OzConnection</a></td><td>Тип подключения</td></tr><tr><td>statusListener</td><td>StatusListener&#x3C;String?></td><td>Обработчик<br></td></tr></tbody></table>

### logout <a href="#h.r6rxruqff192" id="h.r6rxruqff192"></a>

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

**Параметры**

\-

**Возвращает**

\-

### getEventSessionId

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

**Параметры**

\-

**Возвращает**

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

### version

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

**Параметры**

\-

**Возвращает**

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

### generateSignedPayload

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

| **Параметр**             | **Тип**                            | **Описание**                    |
| ------------------------ | ---------------------------------- | ------------------------------- |
| media                    | [OzAbstractMedia](#h.s2ye0si7dzc2) | Массив медиафайлов              |
| folderMeta (опционально) | \[String: any]                     | Дополнительные метаданные папки |

**Возвращает**

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

## AnalysisRequest <a href="#h.hrrahr7tz7s8" id="h.hrrahr7tz7s8"></a>

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

### run <a href="#h.mpjaunji9r0p" id="h.mpjaunji9r0p"></a>

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

| **Параметр**                  | **Тип**                                                                                                               | **Описание**                                                                                                                       |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| <p>onStatusChange</p><p>,</p> | <p>Callback-функция:</p><p><code>onStatusChange(status: AnalysisRequest.AnalysisStatus) { handleStatus() }</code></p> | Вызывается при изменении статуса AnalysisRequest. Текущий статус отображается в [AnalysisStatus](#h.qww0i8kvhvdr).                 |
| onError                       | <p>Callback-функция:</p><p><code>onError(error: OzException) { handleError() }</code></p>                             | Вызывается в случае ошибки.                                                                                                        |
| onSuccess                     | <p>Callback-функция:</p><p><code>onSuccess(result: RequestResult) {</code></p><p><code>handleResults() }</code></p>   | Вызывается по завершении анализов. В качестве результата передается объект [RequestResult](#constructor-data-class-requestresult). |

### class Builder <a href="#h.r9wznxjqamq3" id="h.r9wznxjqamq3"></a>

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

#### *build* <a href="#h.ye0zb9vjlrj0" id="h.ye0zb9vjlrj0"></a>

Создает AnalysisRequest.

**Параметры**

\-

**Возвращает**

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

#### *addAnalysis* <a href="#h.tivaod4n3ilf" id="h.tivaod4n3ilf"></a>

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

| **Параметр** | **Тип**                     | **Описание**                   |
| ------------ | --------------------------- | ------------------------------ |
| analysis     | [Analysis](#h.kt3ifyywae8e) | Структура с данными об анализе |

**Возвращает**

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

#### *addAnalyses* <a href="#h.x9adic91op60" id="h.x9adic91op60"></a>

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

| **Параметр** | **Тип**                        | **Описание**             |
| ------------ | ------------------------------ | ------------------------ |
| analysis     | \[[Analysis](#h.kt3ifyywae8e)] | Массив структур Analysis |

**Возвращает**

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

#### *addFolderMeta* <a href="#h.p3kte51gjg7n" id="h.p3kte51gjg7n"></a>

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

| **Параметр** | **Тип** | **Описание** |
| ------------ | ------- | ------------ |
| key          | String  | Ключ         |
| value        | String  | Значение     |

**Возвращает**

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

#### *uploadMedia* <a href="#h.yjcx68vgbcjk" id="h.yjcx68vgbcjk"></a>

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

| **Параметр** | **Тип**                               | **Описание**                               |
| ------------ | ------------------------------------- | ------------------------------------------ |
| mediaList    | \[[OzAbstractMedia](#h.s2ye0si7dzc2)] | Объект или массив объектов OzAbstractMedia |

**Возвращает**

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

#### *setFolderId* <a href="#h.xgpv2kyfuxmd" id="h.xgpv2kyfuxmd"></a>

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

| **Параметр** | **Тип** | **Описание**        |
| ------------ | ------- | ------------------- |
| folderID     | String  | Идентификатор папки |

**Возвращает**

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

## OzConfig <a href="#h.c69s4peyk55n" id="h.c69s4peyk55n"></a>

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

### setSelfieLength

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

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

**Возвращает**

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

### allowDebugVisualization <a href="#h.tooafwala5ol" id="h.tooafwala5ol"></a>

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

| **Параметр**            | **Тип** | **Описание**                                               |
| ----------------------- | ------- | ---------------------------------------------------------- |
| allowDebugVisualization | Boolean | Включает / выключает отображение дополнительной информации |

### attemptSettings <a href="#h.s4bb8vgzwig3" id="h.s4bb8vgzwig3"></a>

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

| **Параметр**     | **Тип**                              | **Описание**       |
| ---------------- | ------------------------------------ | ------------------ |
| attemptsSettings | [OzAttemptsSettings](#h.mcnxhgqzwow) | Количество попыток |

### baseURL <a href="#h.bu8bf7v3ytgy" id="h.bu8bf7v3ytgy"></a>

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

| **Параметр** | **Тип** | **Описание**  |
| ------------ | ------- | ------------- |
| baseURL      | String  | Адрес сервера |

### faceAlignmentTimeout <a href="#h.2mu10566u3yp" id="h.2mu10566u3yp"></a>

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

| **Параметр**         | **Тип** | **Описание**       |
| -------------------- | ------- | ------------------ |
| faceAlignmentTimeout | Long    | Значение тайм-аута |

### uploadMediaSettings <a href="#h.2mu10566u3yp" id="h.2mu10566u3yp"></a>

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

|                     |                                                       |                                                        |
| ------------------- | ----------------------------------------------------- | ------------------------------------------------------ |
| **Parameter**       | **Type**                                              | **Description**                                        |
| uploadMediaSettings | [OzUploadMediaSettings](#class-ozuploadmediasettings) | Устанавливает количество попыток и интервал между ними |
|                     |                                                       |                                                        |

### livenessErrorCallback <a href="#h.g9xu13hroynu" id="h.g9xu13hroynu"></a>

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

| **Параметр**          | **Тип**      | **Описание**                  |
| --------------------- | ------------ | ----------------------------- |
| livenessErrorCallback | ErrorHandler | Callback для обработки ошибок |

### localizationCode <a href="#h.69yoyxdqrlmq" id="h.69yoyxdqrlmq"></a>

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

| Параметр         | Тип                                   | Описание      |
| ---------------- | ------------------------------------- | ------------- |
| localizationCode | [OzLocalizationCode](#h.6x3wdw11shxa) | Код языка SDK |

### logging <a href="#h.kjt81fqbie5" id="h.kjt81fqbie5"></a>

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

| Параметр | Тип                          | Описание                 |
| -------- | ---------------------------- | ------------------------ |
| logging  | [OzLogging](#h.e9nrtxg93gro) | Настройки журналирования |

### useMainCamera <a href="#h.om2lpu694wc6" id="h.om2lpu694wc6"></a>

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

| **Параметр**  | **Тип** | **Описание**                                                                                    |
| ------------- | ------- | ----------------------------------------------------------------------------------------------- |
| useMainCamera | Boolean | <p><code>True</code> – используется основная камера,</p><p><code>False</code> – фронтальная</p> |

### disableFramesCountValidation

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

| **Параметр**                 | **Тип** | **Описание**                                                                          |
| ---------------------------- | ------- | ------------------------------------------------------------------------------------- |
| disableFramesCountValidation | Boolean | <p><code>True</code> – опция отключена,</p><p><code>False</code> – опция включена</p> |

## UICustomization <a href="#h.c69s4peyk55n" id="h.c69s4peyk55n"></a>

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

### hideStatusBar

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

### toolbarCustomization <a href="#h.fnp80tmzu0op" id="h.fnp80tmzu0op"></a>

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

| **Параметр**       | **Тип**                                                                 | **Описание**                                         |
| ------------------ | ----------------------------------------------------------------------- | ---------------------------------------------------- |
| closeIconRes       | Int (@DrawableRes)                                                      | Иконка кнопки закрытия                               |
| closeIconTint      | [Color](#h.au17vzy38ai3-1)                                              | Цвет кнопки закрытия                                 |
| titleTextFont      | Int (@FontRes)                                                          | Шрифт текста на верхней панели                       |
| titleTextFontStyle | Int (значения из `android.graphics.Typeface`, например `Typeface.BOLD`) | Стиль шрифта текста на верхней панели                |
| titleTextSize      | Int                                                                     | Размер текста на верхней панели (в sp, 12-18)        |
| titleTextAlpha     | Int                                                                     | Непрозрачность текста на верхней панели (в %, 0-100) |
| titleTextColor     | [Color](#h.au17vzy38ai3-1)                                              | Цвет текста на верхней панели                        |
| backgroundColor    | [Color](#h.au17vzy38ai3-1)                                              | Цвет фона верхней панели                             |
| backgroundAlpha    | Int                                                                     | Непрозрачность фона верхней панели (в %, 0-100)      |
| isTitleCentered    | Boolean                                                                 | Центрирует текст на верхней панели                   |
| title              | String                                                                  | Текст на верхней панели                              |

### centerHintCustomization <a href="#h.cql8r016fga9" id="h.cql8r016fga9"></a>

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

| **Параметр**           | **Тип**                                                                 | **Описание**                                                          |
| ---------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- |
| textFont               | String                                                                  | Шрифт текста подсказки                                                |
| textStyle              | Int (значения из `android.graphics.Typeface`, например `Typeface.BOLD`) | Стиль текста подсказки                                                |
| textSize               | Int                                                                     | Размер шрифта текста подсказки (в sp, 12-34)                          |
| textColor              | ​[Color](#h.au17vzy38ai3-1)​                                            | Цвет текста подсказки                                                 |
| textAlpha              | Int                                                                     | Непрозрачность текста подсказки (в %, 0-100)                          |
| verticalPosition       | Int                                                                     | Положение подсказки по вертикали (от нижнего края экрана, в %, 0-100) |
| backgroundColor        | ​[Color](#h.au17vzy38ai3-1)                                             | Цвет фона                                                             |
| backgroundOpacity      | Int                                                                     | Непрозрачность фона                                                   |
| backgroundCornerRadius | Int                                                                     | Радиус скругления углов рамки фона (в dp, 0-20)                       |

### hintAnimation

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

| **Параметр**        | **Тип**                    | **Описание**                                                        |
| ------------------- | -------------------------- | ------------------------------------------------------------------- |
| hintGradientColor   | [Color](#h.au17vzy38ai3-1) | Цвет градиента                                                      |
| hintGradientOpacity | Int                        | Непрозрачность градиента                                            |
| animationIconSize   | Int                        | Размер квадрата, в который вписан значок анимации                   |
| hideAnimation       | Boolean                    | Настройки скрытия анимации, при значении `True` анимация скрывается |

### faceFrameCustomization <a href="#h.xd1bg6jem9h8" id="h.xd1bg6jem9h8"></a>

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

| **Параметр**           | **Тип**                           | **Описание**                                                     |
| ---------------------- | --------------------------------- | ---------------------------------------------------------------- |
| geometryType           | ​[GeometryType](#h.ezntmzpm1j2k)​ | Форма рамки (oval, rectangle, circle или square)                 |
| cornerRadius           | Int                               | Угловой радиус прямоугольника (в dp, 0-20)                       |
| strokeDefaultColor     | ​[Color](#h.au17vzy38ai3-1)​      | Цвет рамки, когда лицо не в кадре                                |
| strokeFaceInFrameColor | ​[Color](#h.au17vzy38ai3-1)​      | Цвет рамки, когда лицо в кадре                                   |
| strokeAlpha            | Int                               | Непрозрачность рамки (в %, 0-100)                                |
| strokeWidth            | Int                               | Толщина линии (в dp, 0-20)                                       |
| strokePadding          | Int                               | Отступ от рамки до овала, куда нужно поместить лицо (в dp, 0-10) |

### backgroundCustomization <a href="#h.9daa8pc8crk" id="h.9daa8pc8crk"></a>

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

| **Параметр**    | **Тип**                      | **Описание**                     |
| --------------- | ---------------------------- | -------------------------------- |
| backgroundColor | ​[Color](#h.au17vzy38ai3-1)​ | Цвет фона                        |
| backgroundAlpha | Int                          | Непрозрачность фона (в %, 0-100) |

### versionTextCustomization <a href="#h.kijzx8ejqwmc" id="h.kijzx8ejqwmc"></a>

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

| **Параметр** | **Тип**                      | **Описание**                                   |
| ------------ | ---------------------------- | ---------------------------------------------- |
| textFont     | Int (@FontRes)               | Шрифт текста версии SDK                        |
| textSize     | Int                          | SDK version text size (в sp, 12-16)            |
| textColor    | ​[Color](#h.au17vzy38ai3-1)​ | Цвет текста версии SDK                         |
| textAlpha    | Int                          | Непрозрачность текста версии SDK (в %, 20-100) |

### antiscamCustomization <a href="#h.cql8r016fga9" id="h.cql8r016fga9"></a>

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

| **Параметр**      | **Тип**                    | **Описание**                                    |
| ----------------- | -------------------------- | ----------------------------------------------- |
| textMessage       | String                     | Текст сообщения                                 |
| textFont          | String                     | Шрифт текста сообщения                          |
| textSize          | Int                        | Размер шрифта сообщения (в px, 12-18)           |
| textColor         | [Color](#h.au17vzy38ai3-1) | Цвет текста сообщения                           |
| textAlpha         | Int                        | Непрозрачность текста сообщения (в %, 0-100)    |
| backgroundColor   | [Color](#h.au17vzy38ai3-1) | Цвет фона сообщения                             |
| backgroundOpacity | Int                        | Непрозрачность фона сообщения                   |
| cornerRadius      | Int                        | Радиус скругления углов рамки фона (в px, 0-20) |
| flashColor        | [Color](#h.au17vzy38ai3-1) | Цвет мигающего индикатора рядом с сообщением    |

### logoCustomization

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

| **Parameter**      | **Type**                       | **Description**         |
| ------------------ | ------------------------------ | ----------------------- |
| image              | Bitmap (@DrawableRes)          | Изображение для лого    |
| size               | Size                           | Размер лого (в dp)      |
| verticalPosition   | Int (0-100), по умолчанию: 100 | Смещение по вертикали   |
| horizontalPosition | Int (0-100), по умолчанию: 0   | Смещение по горизонтали |

## Переменные и объекты <a href="#h.cus902e8glm0" id="h.cus902e8glm0"></a>

### enum OzAction <a href="#h.2nyke2meu4aw" id="h.2nyke2meu4aw"></a>

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

<mark style="background-color:red;">С 1 января 2027 года однокадровый анализ (жест One Shot) будет отключен. Пожалуйста, спланируйте</mark> [<mark style="background-color:red;">миграцию</mark>](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/instrukcii-po-migracii/perekhod-s-odnokadrovogo-analiza) <mark style="background-color:red;">заранее.</mark>

| **Значение** | **Описание**                            |
| ------------ | --------------------------------------- |
| OneShot      | Лучший кадр из снятого видео            |
| Blank        | Селфи с проверкой позиционирования лица |
| Scan         | Сканирование                            |
| HeadRight    | Поворот головы направо                  |
| HeadLeft     | Поворот головы налево                   |
| HeadDown     | Наклон головы вниз                      |
| HeadUp       | Подъем головы вверх                     |
| EyeBlink     | Моргание                                |
| Smile        | Улыбка                                  |

### class LicensePayload <a href="#h.9bjpbnuuoup5" id="h.9bjpbnuuoup5"></a>

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

| **Параметр** | **Тип**   | **Описание**                                                  |
| ------------ | --------- | ------------------------------------------------------------- |
| expires      | Float     | Период времени, спустя который срок действия лицензии истечет |
| features     | Features  | Особенности лицензии                                          |
| appIDS       | \[String] | Массив идентификаторов приложений                             |

### sealed class OzAbstractMedia <a href="#h.s2ye0si7dzc2" id="h.s2ye0si7dzc2"></a>

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

#### ***OzDocumentPhoto***

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

| **Параметр**                 | **Тип**                       | **Описание**                                                                    |
| ---------------------------- | ----------------------------- | ------------------------------------------------------------------------------- |
| tag                          | [OzMediaTag](#h.dnhv9rthhagx) | Тег для фото документа                                                          |
| photoPath                    | String                        | Абсолютный путь к фото                                                          |
| additionalTags (опционально) | String                        | Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag) |
| metaData                     | Map\<String, String>          | Метаданные медиафайла                                                           |

#### ***OzShotSet***

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

| **Параметр**                 | **Тип**                       | **Описание**                                                                    |
| ---------------------------- | ----------------------------- | ------------------------------------------------------------------------------- |
| tag                          | [OzMediaTag](#h.dnhv9rthhagx) | Тег для shot set                                                                |
| archivePath                  | String                        | Путь к архиву                                                                   |
| additionalTags (опционально) | String                        | Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag) |
| metaData                     | Map\<String, String>          | Метаданные медиафайла                                                           |

#### ***OzVideo***

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

| **Параметр**                  | **Тип**                       | **Описание**                                                                    |
| ----------------------------- | ----------------------------- | ------------------------------------------------------------------------------- |
| tag                           | [OzMediaTag](#h.dnhv9rthhagx) | Тег видео                                                                       |
| videoPath                     | String                        | URL видео с проверкой Liveness                                                  |
| bestShotPath (optional)       | String                        | URL лучшего кадра в формате PNG                                                 |
| preferredMediaPath (optional) | String                        | URL медиаконтейнера API                                                         |
| additionalTags (опционально)  | String                        | Дополнительные теги, если требуются (в том числе не из перечисления OzMediaTag) |
| metaData                      | Map\<String, String>          | Метаданные медиафайлам                                                          |

### enum OzMediaTag <a href="#h.dnhv9rthhagx" id="h.dnhv9rthhagx"></a>

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

<mark style="background-color:red;">С 1 января 2027 года однокадровый анализ (жест One Shot) будет отключен. Пожалуйста, спланируйте</mark> [<mark style="background-color:red;">миграцию</mark>](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/instrukcii-po-migracii/perekhod-s-odnokadrovogo-analiza) <mark style="background-color:red;">заранее.</mark>

| **Значение**       | **Описание**                            |
| ------------------ | --------------------------------------- |
| Blank              | Видео без определенного жеста           |
| PhotoSelfie        | Селфи-фото                              |
| VideoSelfieOneShot | Видео с извлекаемым лучшим кадром       |
| VideoSelfieScan    | Видео с жестом «сканирование»           |
| VideoSelfieEyes    | Видео с жестом «моргание»               |
| VideoSelfieSmile   | Видео с жестом «улыбка»                 |
| VideoSelfieHigh    | Видео с жестом «подъем головы наверх»   |
| VideoSelfieDown    | Видео с жестом «наклон головы вниз»     |
| VideoSelfieRight   | Видео с жестом «поворот головы направо» |
| VideoSelfieLeft    | Видео с жестом «поворот головы налево»  |
| PhotoIdPortrait    | Фото, извлеченное из документа          |
| PhotoIdBack        | Фото оборотной стороны документа        |
| PhotoIdFront       | Фото лицевой стороны документа          |

### sealed class LicenseSource <a href="#h.au17vzy38ai3" id="h.au17vzy38ai3"></a>

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

#### ***LicenseAssetId***

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

| **Параметр** | **Тип** | **Описание**           |
| ------------ | ------- | ---------------------- |
| id           | Int     | Идентификатор лицензии |

#### ***LicenseFilePath***

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

| **Параметр** | **Тип** | **Описание**               |
| ------------ | ------- | -------------------------- |
| path         | String  | Абсолютный путь к лицензии |

### class AnalysisStatus <a href="#h.qww0i8kvhvdr" id="h.qww0i8kvhvdr"></a>

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

#### ***RunningAnalysis***

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

| **Параметр** | **Тип**                     | **Описание**                                                     |
| ------------ | --------------------------- | ---------------------------------------------------------------- |
| analysis     | [Analysis](#h.kt3ifyywae8e) | Информация о том, какие анализы и к каким медиафайлам применять. |

#### ***UploadingMedia***

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

| **Параметр** | **Тип**                            | **Описание**                                |
| ------------ | ---------------------------------- | ------------------------------------------- |
| media        | [OzAbstractMedia](#h.s2ye0si7dzc2) | Объект, который загружается в данный момент |
| index        | Int                                | Номер объекта в списке                      |
| from         | Int                                | Количество объектов                         |
| percentage   | Int                                | Процент завершения                          |

### enum Type <a href="#h.fr9jc6r5rcc" id="h.fr9jc6r5rcc"></a>

Тип анализа.

| **Значение** | **Описание**                                                                                       |
| ------------ | -------------------------------------------------------------------------------------------------- |
| BIOMETRY     | Позволяет сравнить несколько фото или видео и оценить уровень схожести запечатленных на них людей. |
| QUALITY      | Проверяет наличие живого человека в кадре                                                          |
| DOCUMENTS    | Определяет наличие документа в кадре и проверяет корректность полей документа согласно его типу.   |

{% hint style="info" %}
В настоящее время для типа `DOCUMENTS` режим `ON_DEVICE` не поддерживается.
{% endhint %}

### enum Mode <a href="#h.wu8r2jgbdoba" id="h.wu8r2jgbdoba"></a>

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

| **Значение**  | **Описание**                                                                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ON\_DEVICE    | Анализ на устройстве. Мы рекомендуем использовать режим анализа на сервере, поскольку он обеспечивает более точные результаты                           |
| SERVER\_BASED | Анализ на сервере                                                                                                                                       |
| HYBRID        | Гибридный анализ для Liveness: если итоговая оценка анализа на устройстве больше определенного порога, медиафайл дополнительно анализируется на сервере |

### class Analysis <a href="#h.kt3ifyywae8e" id="h.kt3ifyywae8e"></a>

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

| **Параметр**          | **Тип**                                              | **Описание**                                                                                                                    |
| --------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| type                  | [Type](#h.fr9jc6r5rcc)                               | Тип анализа                                                                                                                     |
| mode                  | [Mode](#h.wu8r2jgbdoba)                              | Режим анализа                                                                                                                   |
| mediaList             | \[[OzAbstractMedia](#h.s2ye0si7dzc2)]                | Массив объектов OzAbstractMedia                                                                                                 |
| params (опционально)  | Map\<String, Any>                                    | Дополнительные параметры                                                                                                        |
| sizeReductionStrategy | [SizeReductionStrategy](#enum-sizereductionstrategy) | Определяет размер файла, отправляемого на сервер после успешного завершения проверки на устройстве в составе гибридного анализа |

### enum Resolution <a href="#h.75elfp43805x" id="h.75elfp43805x"></a>

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

| **Значение**       | **Описание**                                                         |
| ------------------ | -------------------------------------------------------------------- |
| FAILED             | Один или более анализов не удалось завершить из-за ошибок            |
| DECLINED           | Проверка не пройдена (лица не совпадают или замечена спуфинг-атака)  |
| SUCCESS            | Проверка успешно пройдена                                            |
| OPERATOR\_REQUIRED | Результат анализов должен быть дополнительно перепроверен оператором |

### class OzAttemptsSettings <a href="#h.mcnxhgqzwow" id="h.mcnxhgqzwow"></a>

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

| **Параметр** | **Тип** | **Описание**                                                                                        |
| ------------ | ------- | --------------------------------------------------------------------------------------------------- |
| singleCount  | Int     | Количество попыток для одного действия/жеста                                                        |
| commonCount  | Int     | Суммарное количество попыток для всех действий/жестов, если используется последовательность (комбо) |

### enum OzLocalizationCode <a href="#h.6x3wdw11shxa" id="h.6x3wdw11shxa"></a>

Код языка SDK в соответствии с [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).

| **Значение** | **Описание**  |
| ------------ | ------------- |
| EN           | Английский    |
| RU           | Русский       |
| HY           | Армянский     |
| KK           | Казахский     |
| KY           | Кыргызский    |
| TR           | Турецкий      |
| ES           | Испанский     |
| PT-BR        | Португальский |

### class OzLogging <a href="#h.e9nrtxg93gro" id="h.e9nrtxg93gro"></a>

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

| **Параметр**        | **Тип**        | **Описание**                                           |
| ------------------- | -------------- | ------------------------------------------------------ |
| allowDefaultLogging | Boolean        | Включает запись в LogCat                               |
| allowFileLogging    | Boolean        | Включает запись в файл                                 |
| journalObserver     | StatusListener | Обработчик для получения событий на стороне приложения |

### sealed class Color <a href="#h.au17vzy38ai3" id="h.au17vzy38ai3"></a>

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

#### ***ColorRes***

| **Параметр** | **Тип** | **Описание**                              |
| ------------ | ------- | ----------------------------------------- |
| resId        | Int     | Ссылка на цвет в системе ресурсов Android |

#### ***ColorHex***

| **Параметр** | **Тип** | **Описание**                          |
| ------------ | ------- | ------------------------------------- |
| hex          | String  | Цвет в формате HEX (например #FFFFFF) |

#### ***ColorInt***

<table data-header-hidden><thead><tr><th width="239.33333333333331"></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Параметр</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>color</td><td>Int</td><td>Int-значение цвета в Android</td></tr></tbody></table>

### enum GeometryType <a href="#h.ezntmzpm1j2k" id="h.ezntmzpm1j2k"></a>

Форма рамки.

| **Значение** | **Описание**  |
| ------------ | ------------- |
| Oval         | Овал          |
| Rectangle    | Прямоугольник |
| Circle       | Круг          |
| Square       | Квадрат       |

### class AnalysisError

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

| **Параметр** | **Тип** | **Описание** |
| ------------ | ------- | ------------ |
| apiErrorCode | Int     | Код ошибки   |
| message      | String  | Сообщение    |

### class SourceMedia

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

| **Параметр** | **Тип**                            | **Описание**                  |
| ------------ | ---------------------------------- | ----------------------------- |
| mediaId      | String                             | Идентификатор медиафайла      |
| mediaType    | String                             | Тип медиа                     |
| originalName | String                             | Первоначальное название файла |
| ozMedia      | [OzAbstractMedia](#h.s2ye0si7dzc2) | Медиафайл                     |
| tags         | List\<String>                      | Теги файла                    |

### class ResultMedia

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

| **Параметр**    | **Тип**                                            | **Описание**            |
| --------------- | -------------------------------------------------- | ----------------------- |
| confidenceScore | Float                                              | Итоговая оценка         |
| isOnDevice      | Boolean                                            | Режим анализа           |
| resolution      | [Resolution](#h.75elfp43805x)                      | Общий результат анализа |
| sourceMedia     | [SourceMedia](#constructor-data-class-sourcemedia) | Анализируемый медиафайл |
| type            | [Type](#h.fr9jc6r5rcc)                             | Тип анализа             |

### class RequestResult

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

| **Параметр**    | **Тип**                                       | **Описание**            |
| --------------- | --------------------------------------------- | ----------------------- |
| analysisResults | List<[AnalysisResult](#class-analysisresult)> | Результат анализа       |
| folderId        | String                                        | Идентификатор           |
| resolution      | [Resolution](#h.75elfp43805x)                 | Общий результат анализа |

### class AnalysisResult

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

| **Параметр**      | **Тип**                                                  | **Описание**                          |
| ----------------- | -------------------------------------------------------- | ------------------------------------- |
| resolution        | [Resolution](#h.75elfp43805x)                            | Общий результат анализа               |
| type              | [Type](#h.fr9jc6r5rcc)                                   | Тип анализа                           |
| mode              | [Mode](#h.wu8r2jgbdoba)                                  | Режим анализа                         |
| resultMedia       | List<[ResultMedia](#constructor-data-class-resultmedia)> | Список результатов отдельных анализов |
| confidenceScore   | Float                                                    | Итоговая оценка                       |
| analysisId        | String                                                   | Идентификатор анализа                 |
| params            | @RawValue Map\<String, Any>                              | Дополнительные параметры папки        |
| error             | [AnalysisError](#constructor-data-class-analysiserror)   | Ошибка                                |
| serverRawResponse | String                                                   | Ответ сервера                         |

### class OzConnection

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

#### OzConnection.fromServiceToken

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

| **Параметр** | **Тип** | **Описание**      |
| ------------ | ------- | ----------------- |
| host         | String  | Адрес сервера API |
| token        | String  | Токен доступа     |

#### OzConnection.fromCredentials

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

| **Параметр** | **Тип** | **Описание**      |
| ------------ | ------- | ----------------- |
| host         | String  | Адрес сервера API |
| username     | String  | Логин             |
| password     | String  | Пароль            |

#### class OzUploadMediaSettings

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

|                 |         |                                         |
| --------------- | ------- | --------------------------------------- |
| **Параметр**    | **Тип** | **Описание**                            |
| attemptsCount   | Int     | Количество попыток отправки медиафайлов |
| attemptsTimeout | Int     | Интервал времени между попытками        |

### enum SizeReductionStrategy

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

| **Значение**       | **Описание**                                                                |
| ------------------ | --------------------------------------------------------------------------- |
| UPLOAD\_ORIGINAL   | Исходное видео                                                              |
| UPLOAD\_COMPRESSED | Сжатое видео                                                                |
| UPLOAD\_BEST\_SHOT | Полученный из видео лучший кадр                                             |
| UPLOAD\_NOTHING    | Ничего (в этом случае на сервер не отправляется ничего, папка не создается) |

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

| **Код ошибки**                                     | **Сообщение**                                                                           | **Описание**                                               |
| -------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| ERROR = 3                                          | Error.                                                                                  | Неизвестная ошибка                                         |
| ATTEMPTS\_EXHAUSTED\_ERROR = 4                     | Error. Attempts exhausted for liveness action.                                          | Превышено количество [попыток анализа](#h.mcnxhgqzwow)     |
| VIDEO\_RECORD\_ERROR = 5                           | Error by video record.                                                                  | Ошибка записи видео                                        |
| NO\_ACTIONS\_ERROR = 6                             | Error. OzLivenessSDK started without actions.                                           | [Жесты](#h.2nyke2meu4aw) на видео не найдены               |
| FORCE\_CLOSED = 7                                  | Error. Liveness activity is force closed from client application.                       | Клиент закрыл экран Liveness во время работы               |
| DEVICE\_HAS\_NO\_FRONT\_CAMERA = 8                 | Error. Device has not front camera.                                                     | Фронтальная камера на устройстве не найдена                |
| DEVICE\_HAS\_NO\_MAIN\_CAMERA = 9                  | Error. Device has not main camera.                                                      | Задняя (основная) камера на устройстве не найдена          |
| DEVICE\_CAMERA\_CONFIGURATION\_NOT\_SUPPORTED = 10 | Error. Device camera configuration is not supported.                                    | Liveness не поддерживает конфигурацию камеры на устройстве |
| FACE\_ALIGNMENT\_TIMEOUT = 12                      | Error. Face alignment timeout in OzLivenessSDK.config.faceAlignmentTimeout milliseconds | Время подготовки, выделенное на съемку, истекло            |
| ERROR = 13                                         | The check was interrupted by user                                                       | Пользователь закрыл экран Liveness во время проверки       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/sdk/oz-mobile-sdk/android/metody-i-polya-android-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
