Библиотека проверки лицензии - Как проверить ответ сервера - PullRequest
0 голосов
/ 12 декабря 2011

Я уже потратил впустую дни с тем, что кажется ошибкой в ​​структуре проверки лицензии Google.

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

Моя проблема в том, что я всегда получаю ответ NOT_MARKET_MANAGED - независимо от настроек в тестовом ответе консоли разработчика. Документы утверждают, что я должен быть подписан на устройстве с учетной записью издателя. Здесь не сказано, что это значит конкретно. Я добавил аккаунт издателя в аккаунты устройства, но это не помогает. Поскольку библиотека лицензий зависит от приложения Market, я изменил учетную запись в приложении Marker. Эффекта тоже нет. Я погуглил и нашел что-то в строке «… что я должен войти в систему с учетной записью издателя в качестве основной учетной записи…». Что именно является основным счетом, остается расплывчатым. Некоторые источники утверждают, что для входа в систему с основной учетной записью требуется сброс к заводским настройкам. Я не пробовал этого, но думаю, что вы потеряете все, что вы сделали на устройстве: установки, сообщения, контакты и тому подобное. Это невозможно практически невозможно. У меня вопрос: как проверить приложение на различные ответы?

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

На консоли разработчика четко указано:

Этот тестовый ответ на лицензию будет отправлен на устройства, использующие publisher_account или тестовые аккаунты, перечисленные выше для приложений Вы загрузили в Маркет. Кроме того, этот аккаунт (но не Тестовые аккаунты) получит этот ответ для приложений , которые имеют еще не было загружено на Маркет .

То же самое указано и в этом разделе документов:

http://developer.android.com/guide/publishing/licensing.html#test-acct-setup

Я знаю, что тестирование возможно при загрузке apk на сервер. Но помимо установки тестового ответа в консоли разработчика нужно сделать:

  1. Скомпилировать приложение без флага отладки
  2. Создать сертификат
  3. Подпишите apk сертификатом
  4. Загрузить apk на сервер

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

Принимая во внимание несоответствие между документами и поведением License Verification Framework, есть только один возможный вывод. Либо документы, либо реализация (или оба) имеют недостатки.

1 голос
/ 13 декабря 2011

Пожалуйста, внимательно прочтите Официальное руководство разработчика :

Настройка ответов теста для проверки лицензии

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

И следуйте комментариям Дэвида.

...