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

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

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

{% hint style="info" %}
Как интерпретировать результаты анализов, описано здесь: [Типы анализов](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/api/oz-api/types-of-analyzes).
{% endhint %}

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

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
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) //или ваш обработчик ошибок 
        }
    })
```

{% endtab %}

{% tab title="Java" %}

```java
analysisCancelable = new AnalysisRequest.Builder()
//mediaToAnalyze – массив объектов OzAbstractMedia
        .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); } //или ваш обработчик шагов сценария 
        });
```

{% endtab %}
{% endtabs %}

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

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

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

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
    .addFolderMeta(
        mapOf(
            "key1" to "value1",
            "key2" to "value2"
        )
    )
```

{% endtab %}

{% tab title="Java" %}

<pre class="language-java"><code class="lang-java"><strong>.addFolderMeta(Collections.singletonMap("key", "value")) 
</strong></code></pre>

{% endtab %}
{% endtabs %}

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

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

```java
mapOf("extract_best_shot" to true)
```

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

Чтобы использовать медиафайлы, снятые не Oz Android SDK, укажите путь к ним в структуре [OzAbstractMedia](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/sdk/oz-mobile-sdk/metody-i-polya-android-sdk#h.s2ye0si7dzc2):

```java
       val file = File(context.filesDir, "media.mp4") // замените context.filesDir на context.getExternalFilesDir(null) для внешнего хранилища смартфона
       val media = OzAbsractMedia.OzVideo(OzMediaTag.VideoSelfieSmile, file.absolutePath)
```

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

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

```kotlin
    .setFolderId(folderId)
```


---

# 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/vypolnenie-proverok.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.
