Ошибка приложения: эта версия приложения не настроена для выставления счетов на рынке

Так как через пару дней в Android-приложениях можно использовать биллинг в приложениях. Конечно, конечно. Итак, я начал работу над обновлением для своего приложения для его реализации. Но теперь у меня проблемы. Это то, что я сделал:

  • Сначала я попробовал зарезервированные идентификаторы продуктов для тестирования статического приложения биллинговые ответы. Это работает без проблем.
  • Я загрузил проект APK на рынок (с подписанием производства, без подписи отладки), в котором было включено разрешение com.android.vending.BILLING.
  • Когда я это сделал, я смог добавить "приложение для приложений" в свое приложение на рынке и установить его статус для публикации.
  • Я создал тестового пользователя и сбросил свое устройство, чтобы сделать этот тестовый пользователь основной учетной записью на моем тестовом устройстве.
  • Идентификатор зарезервированного продукта все еще работает.

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

" Ошибка приложения: эта версия приложения не настроена для выставления счетов на рынке. Дополнительную информацию см. в справочном центре."

В журнале нет ничего странного. Кто-нибудь знает, что я здесь делаю неправильно?

Ответ 1

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

Ответ 2

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

Итак, мой совет - подождать от 1 до 2 часов после загрузки APK, а затем посмотреть, есть ли у вас еще "ошибка приложения".

Ответ 3

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

Ответ 4

Это может произойти в подписанных, выпущенных сборках, когда apk, загруженный как черновик, не соответствует apk, запущенному в вашей системе в тестовом режиме. Просто убедитесь, что ваши сборки совпадают, вы должны быть в режиме теста и перестать видеть ошибки.

Большое беспокойство заключается в том, что мы увидим это же поведение в производстве, то есть выпустим 1.0.0-1 с биллингами в приложении, а затем выпустим 1.0.0-2, а пользователи с 1.0.0- 1 не смогут приобрести или вернуть свои покупки и получить ту же ошибку (очень плохой пользовательский опыт). Прочесывали документы, чтобы упомянуть об этом поведении как специфичном для тестового режима, но пока не повезло; мы добавили здесь ошибку: http://code.google.com/p/marketbilling/issues/detail?id=15#c0

Ответ 5

Я также столкнулся с той же проблемой... но теперь проблема решена.

Мои наблюдения основаны на нескольких испытаниях:

  • Код версии должен соответствовать как в Google Play, так и на устройстве
  • Даже если версии совпадают, мы все равно можем получить эту ошибку.
  • Подождите примерно 1 - 2 часа, затем попробуйте не получим

Надеюсь, что это поможет

Ответ 6

Скопировано из дублированного вопроса: fooobar.com/questions/31932/...

Эта ошибка может возникать по нескольким причинам.
Ниже приведен список требований к тестированию IAB Google.

Предпосылки:

  • AndroidManifest должен включать "com.android.vending.BILLING" .
  • APK построен в режиме выпуска.
  • APK подписывается с сертификатом выпуска.
  • APK загружается в канал alfa/beta distribution (ранее - как черновик) на консоль разработчика хотя бы один раз. (занимает некоторое время ~ 2h-24h).
  • Опубликованы продукты IAB и их статус активен.
  • Тестовая учетная запись добавлена ​​ в консоли разработчика.

Требования к тестированию:

  • Тест APK имеет тот же код версии, что и тот, который загружен в консоль разработчика.
  • Тестирование APK подписывается с тем же сертификатом (ов), что и тот, который был добавлен в dev.console.
  • Контрольная учетная запись (не разработчик) - это основная учетная запись на устройстве.

PS: Отладка с сертификатом выпуска: fooobar.com/questions/31936/... (Thnx @dipp для ссылки)

P.P.S: Требуется сделать этот список уже давно.

Thnx @zlgdev для обновления

Ответ 7

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

Ответ 8

Думаю, что я поделюсь еще одним возможным решением, если вы получите эту ошибку. Я изначально загрузил в google проект моего apk с включенным разрешением на выставление счетов, поэтому мне удалось установить его в app purchaseasables. Позже я загрузил еще один apk без разрешения на выставление счетов, отсутствующего в моем AndroidManifest, что привело к ошибке. Определенно кажется, что это маловероятный случай, но это произошло для меня, так что это возможно.

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

Ответ 9

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

Теперь я перехожу к производству...

Спасибо! Натан

Ответ 10

Старый поток, но добавление моего опыта...

Я установил apk с versionCode 1 выше, чем в магазине. Играл на двух разных учетных записях на моем Nexus 7 и испытал эту проблему. Поэтому я удалил и переустановил из хранилища, чтобы убедиться, что код версии соответствует. Даже в ожидании в течение ночи ошибка не выяснилась.

Оказывается, мне нужно было удалить из всех 3 учетных записей google, которые я привязал к моему Nexus 7. Он восстановился, когда я удалил приложение явно из всех трех учетных записей на моей nexus 7, а затем переустановил из хранилища.