Ошибка приложения: эта версия приложения не настроена для Market Billing - PullRequest
91 голосов
/ 02 апреля 2011

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

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

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

" Ошибка приложения: эта версия приложения не настроена для Market BillingЗа дополнительной информацией обращайтесь в справочный центр."

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

Ответы [ 10 ]

157 голосов
/ 08 апреля 2011

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

43 голосов
/ 31 мая 2012

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

Поэтому я советую вам подождать 1-2 часа после загрузки вашего APK, а затем посмотреть, по-прежнему ли появляется «ошибка приложения».

34 голосов
/ 09 апреля 2011

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

22 голосов
/ 14 апреля 2011

Это может произойти на подписанных, выпущенных сборках, когда 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

14 голосов
/ 08 июня 2012

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

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

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

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

7 голосов
/ 15 июля 2014

Скопировано из дублирующего вопроса: https://stackoverflow.com/a/22469253/1321401

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

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

  1. AndroidManifest должен включать разрешение "com.android.vending.BILLING" .
  2. APK встроен в режим выпуска .
  3. APK подписан сертификатами выпуска .
  4. APK загружен в альфа / бета-дистрибутив канал (ранее - как черновик)в консоли разработчика хотя бы один раз.(занимает некоторое время ~ 2ч-24ч ).
  5. IAB Продукты опубликованы и их статус установлен на active .
  6. Тестовые учетные записи добавлены в консоли разработчика.

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

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

PS: Отладка с использованием сертификата выпуска : https://stackoverflow.com/a/15754187/1321401 (Thnx @ dipp для ссылки)

PPS: хотел создать этот список уже давно.

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

6 голосов
/ 03 мая 2011

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

0 голосов
/ 11 июня 2014

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

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

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

0 голосов
/ 20 августа 2013

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

Сейчас я перевожу его на производство ...

Спасибо! Nathan

0 голосов
/ 25 июля 2013

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

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

...