Ниже список способов блокировки.
Ограничение времени
Выдавая клиентам лицензию, вы ограничиваете ее срок, например, одним месяцем. По истечении этого срока лицензия заблокируется. Если потребуется сделать продление — просто заводите обновление лицензии в Guardant Station. При наличии интернета процедуру проверки наличия обновления и установки можно сделать полностью автоматической и незаметной для пользователя.
Проверка статуса серийного номера
В Guardant API есть запрос проверки статуса серийного номера. Он возвращает «да» или «нет». Серийный номер — это цифробуквенный код, который вы генерируете в Guardant Station, отдаете клиенту, а клиент с его помощью проводит активацию лицензии (= установку программного ключа) на нужный компьютер. Вы в свое ПО встраиваете вызов API-запроса, например, раз в сутки, а также интерпретацию ответа.
Когда вам потребуется заблокировать лицензию, в личном кабинете Guardant Station нужно поставить для серийного номера статус «Заблокирован». Ваше ПО обнаружит это и, например, удалит лицензию. Данный способ — это защита от малограмотного пользователя. Для профессионала «отрезать» проверку статуса будет нетрудно. При этом, конечно, данный кейс работает только при наличии интернета.
Удаление лицензии
Здесь логика та же, что и у проверки статуса серийного номера. Только вместо статуса ПО проверяется наличие обновлений лицензий и идет их автоматическая установка на ПК с помощью Guardant Licensing API. Для блокировки лицензии достаточно завести в Guardant Station обновление заказа с неактуальными лицензионными условиями и/или с продуктом-пустышкой.
Обратите внимание на переключатель «режим дополнения» на форме создания обновления. Если он стоит в положении ВЫКЛ., то при установке обновления на ПК пользователя все предыдущие лицензии будут удалены. Если переключатель — в положении ВКЛ., то содержимое обновления сложится с уже имеющимися продуктами в ключе.
«Черный список» с ID ключей
Можно вести «черный список» идентификаторов (ID) ключей, которые необходимо отозвать или по каким-то признакам вы определили их как «пиратские». Этот список интегрируется в уже новую версию вашего ПО. Это значит, что при запуске новая версия программы сравнивает ID обнаруженного ключа с этим списком и, если ключ содержится в списке, то лицензия считается не валидной и ПО не запускается. Также можно добавить функцию отправки сообщения вендору, что обнаружен заблокированный ключ.
Однако ключ из «черного списка» может по-прежнему продолжать работать со старой версией программы. Для перехода на новую версию ПО и получения новых возможностей программы клиент вынужден будет приобрести новую лицензию.