Подтвердить что ты не робот

Ошибка Android "Not_Market_Managed"

Работа над проверкой службы лицензирования на рынке, и я сталкиваюсь с несколькими проблемами с примером приложения.

Когда я впервые запустил образец, я получил сообщение об ошибке, заявив, что приложение не лицензировано. Я связал свою учетную запись с симулятором, чтобы заставить его получить тестовый ответ, и теперь я получаю сообщение об ошибке "Ошибка приложения: NOT_MARKET_MANAGED"

Означает ли это, что я должен загрузить приложение на рынок, чтобы проверить, работает ли он?

4b9b3361

Ответ 1

Да, ваше приложение должно быть на рынке, и если оно уже есть, у вас должен быть номер версии, который больше или равен тому, который уже опубликован.

Ответ 2

Может быть другой способ. Комментарии к образцу MainActivity читаются:

 * The first thing you need to do is get your hands on your public key.
 * Update the BASE64_PUBLIC_KEY constant below with your encoded public key,
 * which you can find on the
 * <a href="http://market.android.com/publish/editProfile">Edit Profile</a>
 * page of the Market publisher site.
 * <p>
 * Log in with the same account on your Cupcake (1.5) or higher phone or
 * your FroYo (2.2) emulator with the Google add-ons installed. Change the
 * test response on the Edit Profile page, press Save, and see how this
 * application responds when you check your license.

И когда вы войдете в http://market.android.com/publish/editProfile, вы увидите вариант изменения License Test Response:

enter image description here

Текст:

Этот ответ на тестовый тест будет отправляется на устройства с помощью @gmail.com или учетных записей испытаний, перечисленных выше для приложений, которые вы загрузили в Рынок. Кроме того, этот аккаунт (но не тестовые учетные записи) получить этот ответ для приложений которые еще не загружены Рынок.

Если вы нажмете этот список выбора, вы увидите разные варианты:

enter image description here

Я предполагаю, что все, что вам нужно сделать, для этой начальной учебной программы с образцом LVL, изменяет ответ от Respond normally до LICENSED или любой другой параметр, который вы хотите проверить.

ОБНОВЛЕНИЕ: Оказалось, что указанной меры недостаточно. Я все еще получаю ошибку NOT_MARKET_MANAGED. Я предполагаю, что "Пример лицензирования рынка" должен быть загружен в качестве предыдущих ответов. Обратите внимание, однако, что это не может быть версия отладки:

enter image description here

Oh, и вы действительно не можете загрузить этот "Пример лицензирования рынка" , как есть. Вы должны хотя бы изменить имя пакета:

enter image description here

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

Странно. После загрузки приложения (просто загружая и сохраняя черновик, не заполняя никаких других обязательных полей), "Пример лицензирования рынка" перестает выдавать ошибку NOT_MARKET_MANAGED, несмотря на то, что ясно выбрано NOT_LICENSED. Вместо этого он отвечает сообщением Allow the user access. Я также попытался настроить (для целей тестирования и обучения) на ERROR_SERVER_FAILURE, но я получаю то же сообщение Allow the user access.

Почему?

Ответ 3

Вы бы подумали, что "Saved Draft" будет именно тем, для чего это необходимо. В противном случае вы продаете приложение, которое по определению не может быть полностью протестировано в прямом эфире.

Ответ 4

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

Еще одна потенциальная проблема:

Убедитесь, что версия, которую вы тестируете/выполняете, имеет тот же файл android: versionCode в AndroidManifest.xml, что и черновик на рынке. Если версии отличаются, вы получите ошибку NOT_MARKET_MANAGED. (По-видимому, ключевая пара RSA, используемая для лицензии проверка выполняется на основе каждого приложения/за версию.)

Ответ 5

После некоторой битвы я получил эту работу. Вы не можете использовать образец LVL как есть.

Вот что я сделал:

  • изменить пакет проекта на что-то другое (я использовал: lvl.test)
  • установите для MainActivity BASE64_PUBLIC_KEY значение, указанное в профиле Консоли разработчика.
  • экспортировать подписанное приложение
  • зайдите в Консоль разработчика и загрузите приложение (создайте фиктивные изображения и дайте им фиктивное имя и описание и т.д., чтобы он сохранялся и был указан как "Неопубликованный" ).
  • установите экспортированное приложение (из вашей файловой системы) на тестовое устройство (например, adb install bin/path/to/your.apk)
  • на своем устройстве откройте "Android Market", перейдите в меню "Настройки" > "Учетные записи" > и выберите тот, который соответствует вашей учетной записи разработчика.
  • теперь вы можете выбрать статический ответ на тест лицензии в своем профиле консоли разработчика и сохранить его. Когда вы запустите образец LVL на своем устройстве, ответ будет соответствовать тому, который вы выбрали!

Ответ 6

Это связано с тем, что это может помочь кому-то:

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

Ответ 7

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

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

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

Ответ 8

В моем случае я получал из-за разницы кода версии как.. Уже опубликованная версия apk code = 2

и после некоторого тестирования релиза нового apk я установил код версии 5

который вызывал эту ошибку, поскольку разница версий должна быть точной 1 с опубликованным в настоящее время apk.. то же самое было применено и с именем версии.

Ответ 9

Если вы уже пробовали все приведенные выше предложения, попробуйте это:

У меня был такой же ответ на некоторое время, и я не мог понять, почему так было. Я прочитал всю документацию Лицензирование приложений и все еще получаю тот же раздражающий код ответа NOT_MARKET_MANAGED.

Наконец-то я решил устранить проблему, изменив приложение в файле AndroidManifest.xml. Я переписал приложение с нуля, начиная с чистого нового проекта. Проблема заключалась в том, что я не использовал точное правильное приложение. Проблема заключалась в том, что оригинальное приложение в Google Play Store использовало письмо в верхнем регистре, в то время как я писал все буквы в нижнем регистре во вновь созданном проекте.

Так как я исправил приложение, чтобы соответствовать 100% (включая корпус), я получаю ожидаемое поведение службы лицензирования.