Нужна консультация по внедрению ограниченного по времени испытания - PullRequest
21 голосов
/ 13 октября 2008

Я разрабатываю условно-бесплатное настольное приложение. Я дошел до того, что мне нужно реализовать код пробного использования / активации. Как вы подходите к чему-то вроде этого? У меня есть свои идеи, но я хочу посмотреть, что думает сообщество stackoverflow.

Я занимаюсь разработкой с C ++ / Qt. Предполагаемая платформа - Windows / Mac / Linux.

Спасибо за ваш совет!

Ответы [ 5 ]

23 голосов
/ 13 октября 2008

От чего защищать, а от чего не защищать:

Имейте в виду, что люди всегда найдут способ обойти ваш пробный период. Таким образом, вы хотите, чтобы человеку было досадно обходить пробный период, но это не имеет значения, если невозможно обойти пробный период.

Большинство людей подумают, что это слишком много работы, чтобы попытаться обойти пробный период, если есть даже простой механизм. Например, люди всегда могут использовать filemon / regmon, чтобы увидеть, какие файлы и записи реестра изменяются при установке вашего программного обеспечения.

Это, как говорится, простой механизм лучше, потому что он тратит меньше вашего времени.

Вот несколько идей:

  • Вы можете выполнять подсчет тиков где-нибудь в реестре для каждого уникального дня, который запускается. Если число тиков> 30, покажите им сообщение с истекшим сроком.
  • Вы можете сохранить дату установки, но не забывайте проверять, есть ли у них больше дней, чем предполагается для вашей пробной версии, а затем сообщите им, что срок их действия истек. Это защитит от людей, меняющих дату перед установкой на будущий день.
  • Я бы порекомендовал сделать удаление, удалить счетчик "дней работы". Это потому, что люди могут пересмотреть ваш продукт через несколько месяцев и в конечном итоге купить. Но если они не могут оценить это, они не будут покупать. Ни один серьезный пользователь не успеет удалить / переустановить просто для дополнительного использования вашего продукта.

Продление испытаний:

Для нас, когда клиент запрашивает пробное расширение, мы отправляем ему автоматическое электронное письмо, содержащее программу «TrialExtend.exe» и код пробного расширения. Эта программа связывается с нашим сервером с кодом пробного расширения, чтобы проверить его. Если код подтвержден, их пробный период сбрасывается.

3 голосов
/ 13 октября 2008

Что бы вы ни делали, внимательно следите за системной датой. Самый старый трюк в книге - установить приложение в какой-то момент в будущем, а затем вернуться к реальной дате, когда приложение сохранит глупую дату при первом запуске. Может быть, синхронизировать ключ с онлайн-хранилищем?

2 голосов
/ 14 декабря 2008

Ответ Брайана великолепен, но я бы хотел кое-что добавить.

Пользователи Linux, как правило, не привыкли платить за программное обеспечение, и они, как правило, более технически подкованы и, возможно, даже "религиозны" в вопросах открытого исходного кода.

По этой причине я бы порекомендовал сохранить простоту - это всего лишь небольшой барьер для того, чтобы сделать покупку программного обеспечения такой же простой, как и кражу.

Я бы посоветовал отключить или отключить некоторые функции (например, сохранение) после пробного периода, а не полностью умирать. Просто наблюдение, но ограничения на основе возможностей кажутся более распространенными в мире Linux.

Кроме того, поможет сделать версию linux "первоклассной" версией - достойный установщик и т. Д.

Если вы относительно маленький, или ваша программа относительно нишевая, есть небольшой шанс, что кто-нибудь потрудится взломать его - так что просто сконцентрируйтесь на создании хорошего продукта с простым движением вперед, как только время закончится.

0 голосов
/ 14 декабря 2008

Возможно, настоящая проблема заключается в ограниченном по времени испытании. Компания, в которой я работаю, выполняет большую часть работы с Active Directory, и мы обычно ограничиваем наше программное обеспечение небольшим количеством пользователей для пробных версий. Мне кажется, что ограничение функциональности в некотором роде иногда лучше, проще в реализации и не перестает работать, когда пользователь просто меняет дату на своем компьютере.
Существует балансирование в том, что вы не можете слишком строго ограничивать функциональность, иначе пользователи ничего не получат от пробной версии. В то же время слишком свободный лимит не дает стимула для покупки.

0 голосов
/ 13 октября 2008

Если у вас [вполне] есть вероятность подключения к сети, вы можете зарегистрировать установщик на своем веб-сайте, а затем проверять его при каждом запуске.

Если это невозможно, запись значения в точку, изменяющуюся в мире, в файловой системе (запись в реестре, запись в и / и т.д. файл конфигурации и т. Д.) Может быть работоспособной.

...