Not market managed error

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

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

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

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

9 ответов


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


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

 * 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 to LICENSED или любой другой параметр, который вы хотите тест.

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

enter image description here

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

enter image description here

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

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

почему?


вы бы подумали, что «сохраненный Черновик» будет именно для этого. В противном случае, вы продаете приложение, которое по определению не может быть полностью протестированы жить.


загрузить приложение (.АПК) на рынок. Состояние по умолчанию будет «сохраненный Черновик», поэтому он не будет виден общественности, но вы все равно можете проверить лицензирование.

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

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


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

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

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

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

прохладный часть —вы можете опубликовать пока только альфа/бета-версии — приложение не будет live, только тестирование будет возможность использовать его.

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


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

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


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

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

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


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

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

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

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

0

автор: Claudio Bernasconi


ERROR_NOT_MARKET_MANAGED: the name really tells all about itself, application is not managed by Android Market (now called Google Play). More specifically, the version 11 of your application is not uploaded or published in Google Play.

should I handle this error or is this an unrealistic scenario?

I would consider this as an unrealistic scenario. You don’t need to do anything special in code as long as you upload the new app version in Google Play. ERROR_NOT_MARKET_MANAGED is more like a LVL development warning which help developer properly implement license checking code and follow the correct procedure for testing license checking at project build time. check out the comments in LVL sample code:

private class MyLicenseCheckerCallback implements LicenseCheckerCallback {

    ... ...

    public void applicationError(ApplicationErrorCode errorCode) {
        if (isFinishing()) {
            // Don't update UI if Activity is finishing.
            return;
        }
        // This is a polite way of saying the developer made a mistake
        // while setting up or calling the license checker library.
        // Please examine the error code and fix the error.
        //String result = String.format(getString(R.string.application_error), errorCode);
        //String result = "Error";
        //handleLicensingResult(result);
    }
}

The whole point of integrating LVL into your application is to use Google Play publish your application, and use Google Play client application download and install your application (see Requirements and Limitations section in dev guide). I can’t see any point that can cause this applicationError at runtime on end user’s device if:

  1. Developer follow the correct procedure to upload (for testing LVL) or publish (for real release) in Google Play.
  2. End user use Google Play client application purchase, download and install the application.

If a end user somehow get a copy of your application (with LVL integrated and uploaded/published in Google Play) from other channel (not purchase via Google Play) and trying to install it on his device (with Google Play client application installed on that device), in this case, LicenseCheckerCallback will go to dontAllow() rather than applicationError(ApplicationErrorCode errorCode).

Может быть другой способ. Комментарии к образцу 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:

Изображение 129580

Текст:

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

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

Изображение 129581

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

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

Изображение 129582

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

Изображение 129583

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

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

Почему?

#android #google-play

#Android #google-play

Вопрос:

Вариант этого вопроса задавался ранее. Но из текущей документации Google кажется, что все изменилось, и многие ответы устарели.

Я завершаю приложение, которое будет продаваться в магазине Google Play. Последнее, что нужно реализовать и протестировать, — это проверка лицензии с использованием LVL. Сервер лицензирования будет отвечать только с ERROR_NOT_MARKET_MANAGED.

https://developer.android.com/google/play/licensing/setting-up.html говорит: «Используя консоль разработчика Google Play, вы можете отлаживать и тестировать реализацию лицензирования приложения перед публикацией приложения». Затем в таблице 1 на этой веб-странице четко указано, что учетная запись издателя «Может проверять лицензию перед загрузкой».

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

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

Комментарии:

1. Да, вы должны иметь возможность протестировать его перед запуском. Упомянутое вами тестовое устройство — это симулятор или реальное устройство? Правильно ли настроена тестовая учетная запись на тестовом устройстве? Убедитесь, что на симуляторе установлена последняя версия дополнения Google APIs или клиент Google Play установлен на реальном устройстве. Очистка кэша из магазина Google Play иногда помогает

2. Я пытаюсь протестировать это, не загружая APK в Play Store. Я тестирую на реальном устройстве с последним клиентом Google Play и определенно использую правильную учетную запись на телефоне (учетная запись издателя). И я очистил кэш Google Play и данные, как рекомендовано в других сообщениях. Он по-прежнему не работает. Я решил эту проблему, загрузив альфа-версию APK в магазин. Я объясню более подробную информацию о моем обходном пути в ответе позже, если никто больше не ответит на вопрос о том, как протестировать без загрузки APK.

  • #1

I was working on a project several months ago. I took a break for awhile and then figured I would do more work on it. The version of B4B is newer than the last time I worked on this project but compiles just fine. I uploaded my recompiled APK to my google developer account and replaced the older APK on there. Version numbers are still the same and are set to 1. I installed the newly compiled APK to my Samsung Note 8 and a Bluestacks android emulator. On both upon starting the application I receive a Not_Market_Managed error. I have never received this type of error before. My licensing had previously worked fine. Both my testing devices (Note 8 and a emulator) are signed in with my Google developer email account. Licensing is set to «licensed» in my developer account , as well as assigning my Gmail address to it. I have uploaded my APK for Alpha testing. Setup a google group community for testing.
The code is compiled as released and is obfuscated. As far as my licensing code goes it hasn’t changed since the last time I worked on it. The application always ran as «Licensed» for testing.
I am at a dead end now. I do not know what is cauing this. I have not checked but, is it possible I could be getting a Market_Not_Managed error becaused I compiled with a Debug private key? And then uploaded that APK to my google developer account. I am not able to check this right now as I am away from my development computer. Is anyone aware what I should check to resolve this problem?

Thanks,
Bryan

Erel


  • #2

Have you tried to publish your app and then unpublish / deactivate it?

  • #3

Have you tried to publish your app and then unpublish / deactivate it?

No, I did not.
Things have changed since I last used my development account. Now you can upload your Apk for Alpha, Beta, or Published. I would assume that as I uploaded it for Alpha testing it would be just the same as uploading it as published but not actually putting it up on google play. For Alpha testing you need to create a Google+ community group and get users on it that will do testing for you. From there they will get a link to download your APK.
I have also deleted the APK from the developer account and created a new project just to get a new key, changed the key in my code to match, and reuploaded the APK back to the account. Still same error. I don’t have a good idea of what could actually generate a Not_market_managed error.
From what I have read it was something with the versions numbers not being equal between the uploaded APK and the one installed on actually devices. My versions numbers are equal. Also, I am not clear as whether I should increment version numbers everytime I upload an updated APK to the development account. Can’t I always keep my version number as 1 on the APK I upload and the devices I install it to? This problem does not appear to be anything related with B4A just probably google and maybe something I’m not doing right with the process.

  • #4

I published it, waited for alittle while then unpublished it. It now is working correctly as far as I can tell. Strange because their docs say licensing should work without having to publish it.
I think they have not been updating their documentation lately. I lost many hours trying to get the licensing working. I appreciate the help.

eps


  • #5

I published it, waited for alittle while then unpublished it. It now is working correctly as far as I can tell. Strange because their docs say licensing should work without having to publish it.
I think they have not been updating their documentation lately. I lost many hours trying to get the licensing working. I appreciate the help.

Just to be clear, you were using a device which had the same Google Account on it as your Developer Account for Google, or was listed as a test account?

ETA : Ah sorry, just re-read your first post, you were using the Developer account and it was signed in on your device. Mine worked without problem, so I don’t think the issue is a Google one.

NFOBoy

Erel

Erel

Erel

  • Article

lemonisdead

nfordbscndrd

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Not in a hypervisor partition как исправить
  • Not in a hypervisor partition virtualbox ошибка
  • Not implemented error python что значит
  • Not found the requested url was not found on this server ошибка
  • Not found the requested url was not found on this server как исправить

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии