# Настройка Android SDK

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

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

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

```kotlin
// подключение к серверу API
OzLivenessSDK.setApiConnection(OzConnection.fromServiceToken(HOST, TOKEN))
// настройка количества попыток обнаружить действие
OzLivenessSDK.config.attemptSettings = attemptSettings 
// возможность отображения дополнительной информации для отладки (чтобы увидеть данные, нажмите на номер версии SDK)
OzLivenessSDK.config.allowDebugVisualization = allowDebugVisualization 
// настройки журналирования
OzLivenessSDK.config.logging = ozLogging 
```

{% endtab %}

{% tab title="Java" %}

```java
OzConfig config = OzLivenessSDK.INSTANCE.getConfig();
// подключение к серверу API
OzLivenessSDK.setApiConnection(OzConnection.fromServiceToken(HOST, TOKEN));
// настройка количества попыток обнаружить действие
config.setAttemptSettings(attemptSettings); 
// возможность отображения дополнительной информации для отладки (чтобы увидеть данные, нажмите на номер версии SDK)
config.setAllowDebugVisualization(allowDebugVisualization); 
// настройки журналирования
config.setLogging(ozLogging);
```

{% endtab %}
{% endtabs %}

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

Чтобы настроить интерфейс Oz Liveness, воспользуйтесь `UICustomization`. Полный список полей находится [здесь](https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/sdk/oz-mobile-sdk/android/pages/GlyZwHmfP4TpgDOnHlBh#h.c69s4peyk55n).

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

```kotlin
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,
    )
)
```

{% endtab %}

{% tab title="Java" %}

<pre class="language-java"><code class="lang-java">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 // непрозрачность текста
<strong>    ),
</strong>// параметры настройки анимации подсказки
<strong>new HintAnimation(
</strong>    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
    )
 )
);
</code></pre>

{% endtab %}
{% endtabs %}

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

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

```kotlin
OzLivenessSDK.config.localizationCode = OzLivenessSDK.OzLocalizationCode.RU
```

{% endtab %}

{% tab title="Java" %}

```java
OzLivenessSDK.INSTANCE.getConfig().setLocalizationCode(OzLivenessSDK.OzLocalizationCode.RU);
```

{% endtab %}
{% endtabs %}


---

# 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/nastroika-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.
