Лицензии Face SDK
Face SDK поддерживает все основные платформы и предоставляет гибкие условия лицензирования. Лицензирование отдельных платформ и функций доступно по запросу.
Доступны следующие типы лицензий:
По типу активации:
По типу привязки:
- Application ID – привязка к iOS- или Android-приложению.
- Hardware ID – привязка к сигнатуре устройства.
- USB-токен – устройство, используемое вместо стандартного файла лицензии.
Если у Вас остались какие-либо вопросы, напишите нам: [email protected]
Активация лицензии
Онлайн лицензии
- По умолчанию рабочей директорией для онлайн лицензии является каталог license. При необходимости можно использовать другую директорию – все приложения, использующие Face SDK, должны иметь к этой директории доступ на чтение и запись. Скопируйте в эту директорию файлы
log_params.xml
иnet_params.xml
из каталога license. - Скачайте файл лицензии с сервера онлайн лицензий.
- Скопируйте файл лицензии в рабочую директорию онлайн лицензии и переименуйте его в
3divi_face_sdk.lic
. - При вызове
FacerecService.createService
передайте путь до рабочей директории онлайн лицензии в аргументеlicense_dir
(можно оставить пустым, если используется каталог по умолчанию).
Пока выполняется одно или несколько приложений, использующих Face SDK с онлайн лицензией, файл лицензии будет регулярно обновляться (в фоновом процессе). Обновление лицензии включает в себя продление срока действия лицензии и, при необходимости, изменение ключа оборудования.
Параметры сети, используемые при обновлении лицензии, хранятся в файле net_params.xml
:
timeout
– таймаут в секундах.use_system_proxy
–yes
илиno
, поставьтеyes
, чтобы использовать системные настройки прокси.no_proxy_for_server
–yes
илиno
, поставьтеyes
, чтобы не использовать прокси.proxy
– поставьтеurl:port
для использования прокси, при условии, что для параметровuse_system_proxy
иno_proxy_for_server
был выбран вариантno
.
Офлайн лицензии
Чтобы активировать лицензию на Лицензионном портале Face SDK, следуйте инструкции ниже:
- Распакуйте архив с дистрибутивом в любую директорию на Вашем устройстве (см. раздел Начало работы]).
- Создайте/получите файл
3divi_face_sdk.lic
, который будет содержать в себе информацию о Вашем устройстве, необходимую для процедуры лицензирования:- [Windows/Linux] Запустите утилиту get_license из папки bin на целевом компьютере/устройстве. После этого в папке bin будет создан файл
3divi_face_sdk.lic
. - [Android] Вызовите функцию
FacerecService.getLicenseState
и получите полеLicenseState.hardware_reg
(пример получения Hardware ID см. в Android Demo). Сообщите Hardware ID Вашему личному менеджеру. В ответ Вам будет отправлен файл3divi_face_sdk.lic
.
- [Windows/Linux] Запустите утилиту get_license из папки bin на целевом компьютере/устройстве. После этого в папке bin будет создан файл
- Войдите в Лицензионный портал Face SDK. Если Вы не помните свой пароль, Вы можете сбросить его на этой странице.
- Выберите Face SDK в меню в левой части страницы.
- Выберите файл лицензии, сгенерированный на лицензионном портале компанией ТРИДИВИ (см. изображение ниже).

Выбор файла лицензии из списка созданных лицензий
- Нажмите на название лицензии. В результате этого появится окно с подробной информацией о файле лицензии.
- Нажмите на кнопку Upload file.

Загрузка файла лицензии на Лицензионном портале Face SDK
- После этого появится окно "Activate FaceSDK license". Нажмите на кнопку Upload, чтобы загрузить файл
3divi_face_sdk.lic
из папки bin.

Активация файла лицензии
- Нажмите на кнопку Generate, чтобы сгенерировать финальный файл лицензии, привязанный к Вашему устройству.
- Поместите файл лицензии в директорию license и при необходимости переименуйте его в
3divi_face_sdk.lic
.
Привязка лицензии
В зависимости от типа привязки, некоторые типы лицензий позволяют использовать Face SDK только на определенных устройствах. На данный момент доступны следующие типы привязки лицензий Face SDK:
- Без привязки – лицензия позволяет использовать Face SDK на любом устройстве.
- Привязка к платформе – лицензия может быть запущена только на устройствах с определенной платформой (Windows/Linux/Android/iOS).
- Привязка к Application ID – лицензия позволяет использовать Face SDK только в составе определенного приложения (доступно для Android и iOS).
- Привязка к Hardware ID – лицензия позволяет использовать Face SDK только на определенном устройстве (доступно для Windows, Linux и Android).
- Привязка к USB-ключу – лицензия позволяет использовать Face SDK только на устройстве, к которому подключен специальный USB-ключ (доступно для Windows и Linux).
Привязка к Hardware ID
Привязка к Hardware ID позволяет использовать Face SDK только на определенном устройстве. Привязка к устройству происходит в момент активации лицензии. Для онлайн лицензий привязка происходит автоматически в момент первого запуска библиотеки. Для офлайн лицензий перед активацией необходимо получить Hardware ID на целевом устройстве. Инструкция по привязке офлайн лицензий к Hardware ID представлена в пункте Офлайн лицензии.
Онлайн-лицензии с привязкой к Hardware ID могут быть перенесены на другое устройство, однако одновременно лицензия может использоваться только на одном устройстве. Для переноса лицензии повторно скачайте файл лицензии 3divi_face_sdk.lic
в личном кабинете Face SDK и поместите его в папку license на новом устройстве. Не переносите файл лицензии с предыдущего устройства, т.к. в таком случае при перепривязке лицензии возникнет ошибка.
Привязка к Application ID
Вы можете привязать лицензию Face SDK к разработанному мобильному приложению. В этом случае пользователям Вашего приложения не потребуется приобретать или активировать лицензию самостоятельно. Для привязки лицензии необходимо указать идентификатор приложения (android_app_id
для Android или ios_app_id
для iOS), который формируется на основе идентификатора пакета (package name) и ключа подписи приложения.
Идентификатор приложения необходимо получать на релизной сборке, подписанной production-ключом. При изменении package name или ключа подписи appID
изменится, и лицензия станет недействительной. Это же касается случаев переиздания приложения или его переноса в другой магазин, если при этом меняется подпись.
Чтобы получить appID
, вызовите метод FacerecService.getLicenseState
и выведите значение поля android_app_id
или ios_app_id
в logcat. Альтернативный способ — включить режим отладки лицензии: для этого установите значение license_debug_log: true
в конфигурационном файле conf/facere/config.json
. После этого идентификатор будет выведен в лог при инициализации SDK.
Укажите полученный идентификатор при приобретении лицензии. После этого добавьте лицензионный файл в приложение. Лицензия будет действовать на всех устройствах с соответствующей платформой, при условии, что appID
не изменён.
Одна лицензия действует только для одного приложения. Разные приложения, даже при незначительных различиях в названии пакета или ключе подписи, требуют отдельные лицензии.
Особенности публикации в Google Play
При публикации Android-приложения в Google Play следует учитывать, что Google использует механизм Signature lineage. Этот механизм позволяет управлять историей ключей подписи и сохраняет совместимость между версиями приложения при их обновлении. Однако Signature lineage работает только при использовании Google Play App Signing и может повлиять на appID.
Публикация с включённым Signature lineage
Сформируйте AAB-бандл и загрузите его в Google Play Console.
Включите Google Play App Signing с использованием Signature lineage.
В таком случае подпись приложения будет управляться Google, и при ротации ключей appID может сохраняться.
Для корректной привязки лицензии необходимо получить appID на финальной сборке, уже подписанной Google, через getLicenseState или через отладку лицензии.
Публикация без использования Signature lineage
Подпишите приложение собственным production-ключом.
Отключите Signature lineage в Google Play Console.
Передайте AAB-бандл и собственный ключ — Google будет использовать его без модификаций.
В этом случае Вы полностью контролируете подпись и, следовательно, стабильность appID.
Чтобы лучше контролировать формирование appID
, рекомендуется подписывать приложение собственным ключом и не использовать Signature lineage.
Привязка к USB-токену
USB-токен — это физическое устройство, которое может использоваться вместо стандартного файла лицензии. Как и файл лицензии, USB-токен содержит информацию о количестве приобретенных компонент Face SDK. В отличие от файла лицензии, USB-токен не привязывается к сигнатуре аппаратного оборудования — достаточно вставить USB-токен в используемое устройство. USB-токен защищен от копирования. Один USB-токен может быть использован только одним процессом на одном устройстве. Т.е. для запуска еще одного процесса на другом устройстве потребуется еще один USB-токен. Для заказа USB-токена свяжитесь с отделом продаж ТРИДИВИ: [email protected].
Поддержка USB-токенов добавлена в следующих сборках:
- Linux x86_32
- Linux x86_64
- Windows x86_32
- Windows x86_64
Получение серийного номера USB-токена
- Подключите USB-токен к компьютеру. Убедитесь, что подключен только один USB-токен.
- Запустите утилиту
update_hwkey
(cм. раздел Работа с утилитой update_hwkey). В результате этого в консоли будет выведен серийный номер ключа, напримерsenselock000000000000000b
. Если USB-токен не доступен на Linux, запустите утилитуupdate_hwkey
с правами суперпользователя (команда:sudo update_hwkey
).
Активация лицензии
- Войдите в личный кабинет и выберите лицензию в разделе My licenses.
- Введите серийный номер USB-токена в разделе Activation Information (См. раздел Получение серийного номера USB-токена).
- Скачайте из личного кабинета файл лицензии
3divi_face_sdk.lic
. - Подключите USB-токен к компьютеру и запишите лицензию на USB-токен, используя команду
./update_hwkey update 3divi_face_sdk.lic
.
Использование лицензии
Для использования USB-токена необходимо воспользоваться одним из перечисленных ниже вариантов:
- заменить содержимое файла
3divi_face_sdk.lic
строкойhardware_key_serial <серийный номер USB-токена>
Пример:
hardware_key_serial senselock000000000000000b
- в параметре
license_dir
функцииFacerecService.createService
указать0x436e9514-hardware-key-serial-<key>
, где<key>
– серийный номер ключа.
Примечание: в случае, если USB-токен с указанным серийным номером не обнаружен, в тексте исключения, выброшенного методом FacerecService.createService
, будет приведен список всех доступных USB-токенов с их серийными номерами.
Работа с утилитой update_hwkey
Для работы с USB-токеном предназначена утилита update_hwkey
, которая входит в состав дистрибутива Face SDK. Она позволяет читать и обновлять лицензию на USB-токене, а также изменять режим его работы для совместимости с Linux/Windows.
Доступные команды:
- update (команда
./update_hwkey update 3divi_face_sdk.lic
) — обновить лицензию на USB-токене. - read (команда
./update_hwkey read 3divi_face_sdk.lic
) — сохранить лицензию с USB-токена в файл 3divi_face_sdk.lic. - setHID (команда
./update_hwkey setHID
) — перевести ключ в режим совместимости с Windows (ключ в этом режиме не будет доступен на Linux). - setUSB (команда
./update_hwkey setUSB
) — перевести ключ в режим совместимости с Linux.