Перейти к основному содержимому
Версия: 3.26.0 (последняя)

Лицензии Face SDK

Face SDK поддерживает все основные платформы и предоставляет гибкие условия лицензирования. Лицензирование отдельных платформ и функций доступно по запросу.

Доступны следующие типы лицензий:

  • По типу активации:

    • Онлайн – требуется подключение к Интернету для активации и периодического подтверждения, возможен перенос на другие устройства.
    • Офлайн – привязка к устройству или USB-токену, возможность переноса между устройствами отсутствует.
  • По типу привязки:

    • 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_proxyyes или no, поставьте yes, чтобы использовать системные настройки прокси.
  • no_proxy_for_serveryes или 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.
  • Войдите в Лицензионный портал 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-токена

  1. Подключите USB-токен к компьютеру. Убедитесь, что подключен только один USB-токен.
  2. Запустите утилиту update_hwkey (cм. раздел Работа с утилитой update_hwkey). В результате этого в консоли будет выведен серийный номер ключа, например senselock000000000000000b. Если USB-токен не доступен на Linux, запустите утилиту update_hwkey с правами суперпользователя (команда: sudo update_hwkey).

Активация лицензии

  1. Войдите в личный кабинет и выберите лицензию в разделе My licenses.
  2. Введите серийный номер USB-токена в разделе Activation Information (См. раздел Получение серийного номера USB-токена).
  3. Скачайте из личного кабинета файл лицензии 3divi_face_sdk.lic.
  4. Подключите 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.