Поведение LVL при проверке подлинности лицензии на стороне клиента для бесплатных приложений - PullRequest
3 голосов
/ 02 февраля 2011

Я разработал игру с намерением опубликовать ее в качестве платного приложения с использованием Android LVL со стандартной политикой лицензирования ServerManagedPolicy. Теперь власти решили, что мы должны опубликовать его как бесплатное приложение. Почему-то я не хочу удалять / отключать проверки лицензий. Мой вопрос: как служба лицензирования обрабатывает бесплатные приложения? Проверки будут всегда терпеть неудачу или всегда будут проходить? Можно ли как-нибудь заставить службу лицензий принять любую установку моего бесплатного приложения как лицензированную?

В официальных документах я нашел следующие бесплатные приложения, но они мне мало помогают.

Only paid applications published through Market can use the service.[...] Licensing is currently for paid apps only, since free apps are considered licensed for all users.

Я бы предположил, что проверки не пройдут, но я помню, как читал где-то, что для бесплатных приложений сервер лицензирования будет возвращать очень большую метку времени действия (long.MAX), гарантирующую, что лицензия всегда действует для бесплатных приложений. К сожалению, я потерял ссылку на этот источник.

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

Ответы [ 3 ]

4 голосов
/ 28 апреля 2011

Извлечено это прямо из учебника по лицензированию:

Особенности бесплатных приложений

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

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

Что вы помните, прочитав, вероятно, это:

Для бесплатного приложения сервер устанавливает период действия на очень высокое значение (long.MAX_VALUE).Это гарантирует, что при условии, что Политика локально кэшировала метку времени действия, ей не нужно будет перепроверять статус лицензии приложения в будущем.

Что относится к этому:

Сервер считает пользователя лицензированным, если зарегистрировано, что пользователь приобрел приложение или если приложение доступно бесплатно.

3 голосов
/ 21 июня 2012

Я просто имел дело с той же проблемой и обнаружил, что информация здесь устарела, поэтому я предоставляю вам обновленную версию. Теперь можно загружать apks для бесплатных приложений, которые запрашивают разрешение com.android.vending.CHECK_LICENSE. Однако это не означает, что ваше приложение может его использовать. В обзоре лицензирования говорится в разделе «Требования и ограничения»

  • Вы можете реализовать контроль лицензирования для бесплатного приложения, но только если вы используете сервис для предоставления файлов расширения APK.

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

3 голосов
/ 07 февраля 2011

Не получив здесь никаких ответов, я отправил тот же вопрос в группу Android Developers .Вот лучший ответ, который я получил:

Технически серверы лицензий бэкэнда позволяют это и возвращают большую метку времени действия, НО ... Консоль издателя рынка не позволит вам загрузить APK бесплатнои запрашивает разрешение com.android.vending.CHECK_LICENSE.

На практике это означает, что бесплатные приложения не могут использовать LVL, поскольку вы не сможете их загружать.

Тревор Джонс, Разработчик программ, Android

...