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

Сгенерируйте тестовую лицензию самостоятельно [здесь](https://ozforensics.com/developers/try_mobile_sdk) (внимание, страница на английском языке) или свяжитесь с нами по [email](mailto:info@ozforensics.com) для выпуска продуктивной лицензии. Для подготовки лицензии потребуется `applicationId` (`bundle id`).

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

* `LicenseSource.LicenseAssetId` должен содержать путь к файлу `forensics.license`, расположенному в проекте в папке res/raw.
* `LicenseSource.LicenseFilePath` должен содержать пусть к файлу на устройстве (вне проекта).

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

```kotlin
OzLivenessSDK.init(context,
    listOf(
        LicenseSource.LicenseAssetId(R.raw.your_license_name),
        LicenseSource.LicenseFilePath("абсолютный путь к файлу лицензии")
    ),
    object : StatusListener<LicensePayload> {
        override fun onSuccess(result: LicensePayload) { /*проверка информации о лицензии*/ }
        override fun onError(error: OzException) { /*обработка исключения */ }
    }
  )
```

{% endtab %}

{% tab title="Java" %}

```java
OzLivenessSDK.INSTANCE.getConfig().setBaseURL(BASE_URL);
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) { /*обработка исключения */ }
    }
);
```

{% endtab %}
{% endtabs %}

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

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

<table><thead><tr><th width="347">Сообщение об ошибке</th><th>Что делать</th></tr></thead><tbody><tr><td>License error. License at (your_URI) not found</td><td>Отсутствует файл лицензии. Проверьте наименование и путь к файлу.</td></tr><tr><td>License error. Cannot parse license from (your_URI), invalid format</td><td>Файл лицензии поврежден. Пожалуйста, отправьте его нам по электронной почте.</td></tr><tr><td>License error. Bundle company.application.id is not in the list allowed by license (bundle.id1, bundle.id2)</td><td>Идентификатор приложения отсутствует в списке разрешенных для данной лицензии идентификаторов. Проверьте написание, если все корректно, нужна новая лицензия.</td></tr><tr><td>License error. Current date yyyy-mm-dd hh:mm:ss is later than license expiration date yyyy-mm-dd hh:mm:ss</td><td>Срок действия лицензии истек. Пожалуйста, свяжитесь с нами.</td></tr><tr><td>License is not initialized. Call 'OzLivenessSDK.init before using SDK</td><td>Лицензия не устанавливалась. Вызовите метод <code>OzLivenessSDK.init</code>, как показано выше в этой статье</td></tr></tbody></table>


---

# 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/poluchenie-licenzii.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.
