Будет ли разумная защита этой политики в отношении LVL LVL?

По умолчанию ServerManagedPolicy которую Google предоставляет в своей библиотеке проверки лицензий, зависит от ответов сервера, чтобы определить интервал повторной проверки лицензии. Это приводит к необходимости повторной аттестации каждые несколько дней, на неограниченный срок. Это не только неприятность для пользователей, это может быть серьезной проблемой для пользователей, которые проходят расширенные периоды без подключения. (У нас просто был запрос от пользователя, который ожидает, что будет без подключения к Интернету в течение нескольких недель, что и мотивирует этот вопрос.)

В общем, я ищу алгоритм, который выполнит две вещи:

  1. Значительно снизить требования к подключению по сравнению с ServerManagedPolicy ;
  2. Обеспечивают такой же уровень защиты от пиратства.

В ответе на этот вопрос предлагаемый политический алгоритм должен игнорировать время, указанное в ответе от сервера Google, и вместо этого использовать период истечения срока действия ЛИЦЕНЗИОНА около месяца, при этом проверки лицензии выполняются каждые несколько дней (чтобы продлить срок действия, если Получен ответ LICENSED).

Хотя этот подход частично решает первую цель, он все равно требует подключения пользователей один раз в месяц при использовании приложения, поэтому он не будет работать (по крайней мере, одному из) наших пользователей.

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

  1. При первом запуске выполните проверку лицензии и настаивайте на ответе LICENSED, прежде чем предоставлять полную функциональность. После получения установите относительно короткий срок действия (но дольше, чем период возврата, который предоставляет Google Play, в настоящее время составляет 15 минут). Также зарегистрируйте льготный период за несколько дней до этого.
  2. Приложение начнет проверку снова после истечения срока действия лицензии. Если он не смог подключиться (режим полета и т. Д.), Он все равно будет функционировать до истечения льготного периода.
  3. По истечении льготного периода настаивайте на втором ответе LICENSED, прежде чем разрешить нормальное функционирование приложения.
  4. Получив второй ответ LICENSED, навсегда включите все функции приложения и никогда не повторите проверку.
  5. Если в любой момент получен ответ UNLICENSED, навсегда отключите полную функциональность. (Пользователь может, конечно, вернуться к шагу 1, удалив все данные приложения.)

Дополнительные пункты:

  • Было предложено отказаться от первой проверки лицензии и дождаться истечения срока возврата до проведения проверки лицензии. Цель настаивать на первом ответе LICENSED – это предотвратить эксплойт, когда после проверки лицензии пользователь просто останавливает процесс приложения, очищает данные приложения и перезапускает приложение. (Приложение обеспечивает ценность, даже если она используется только 15 минут за раз).
  • Цель настаивать на втором ответе LICENSED заключается в том, чтобы обойти эксплойт buy-run-backup-return-restore.
  • Я не спрашиваю, является ли проверка лицензии на обратную связь хорошей идеей или нет (именно это предлагает Google вместо их устаревшего механизма защиты от копирования). Я также хорошо знаю, что никакая защита от пиратства не является надежной, и весь механизм лицензирования Google можно обойти (в этом случае все вопросы о разработке алгоритма политики не имеют значения). Главным моментом этого вопроса является относительный риск (для нас) и преимущества (для пользователя) вышеуказанного алгоритма по сравнению с другими политиками (такими как ServerManagedPolicy ).

Solutions Collecting From Web of "Будет ли разумная защита этой политики в отношении LVL LVL?"

Что касается пиратства, всегда будет риск, и вы ничего не сделаете, это полностью предотвратит это.

В отличие от других рисков, вы рискуете расстроить своих клиентов с помощью приложения, которое они не могут использовать.

Я бы ожидал много 0 * отзывов от несчастных клиентов, которые не могут даже использовать приложение, за которое они платили, поскольку оно отключено, тогда как у людей, получивших бесплатное приложение, скорее всего, не будет никаких перерывов. Это похоже на покупку DVD и получение вашего лица, полное предупреждений об авторских правах, когда пираты получают непрерывный просмотр.

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

Изменить: я согласен с kcoppock, что лицензионный чек через 20 минут после покупки вызовет наименьшее вмешательство для клиентов и позволит избежать ошибки возврата, которую вы упомянули