Запрашиваемый товар недоступен для покупки

Я пытаюсь интегрировать покупки в приложения Android Market в приложение, но, к сожалению, сталкиваясь с раздражающей ошибкой каждый раз, когда я пытаюсь купить настоящий продукт inapp.

Я взял пример приложения (Dungeons) и добавил его в свое приложение. Я обновил открытый ключ, а также обновил список продуктов до следующего:

/** Массив записей списка продуктов для продуктов, которые можно приобрести. */

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("full", "Full v", Managed.MANAGED),

};

Я экспортировал приложение с помощью Eclipse и установил его на свой телефон, а также загрузил его на веб-сайт Android Market. Также на веб-сайте Android Маркета я добавил полную версию как приложение и опубликовал его.

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

Когда я запускаю приложение на своем телефоне, я получаю запрос, который вы запросили, недоступный для получения сообщения о сбоях на Android, когда я пытаюсь купить полный, но если я попытаюсь, например, android.test.purchased, он работает абсолютно нормально.

Документация по запрошенному элементу, недоступная для покупки Android, указывает следующее:

Указывает, что Android Market не может найти запрошенный элемент в списке продуктов приложения. Это может произойти, если идентификатор продукта ошибочно написан в запросе REQUEST_PURCHASE или если элемент не опубликован в списке продуктов приложения.

Идентификатор продукта определенно одинаков, он определенно опубликован и запрос должен проходить через ok, как это пример приложения.

Я использую ту же версию apk и i, также опубликовал продукты inapp и активировал apk. но все же я столкнулся с такой же проблемой, пожалуйста, помогите мне сделать это.

Любые мысли будут оценены!

Ответ 1

проверьте, используете ли вы один и тот же идентификатор почтового ящика тестовой учетной записи или нет

Ответ 2

Мой опыт по этой ошибке:

  • Обязательно загрузите подписанный APK в консоль разработчика.

  • Обязательно установите подписанный APK на своем устройстве, чтобы не запускать приложение в отладчике.

  • Обязательно создайте тестовую учетную запись в консоли разработчика.

  • Настройка тестовой учетной записи

    • Обязательно войдите в свое устройство с помощью тестовой учетной записи.
    • В случае закрытого альфа/бета-тестирования убедитесь, что вы добавили свою тестовую учетную запись в выбранную группу тестировщиков, вы можете сделать это на странице управления своей альфа-бета-версией.
    • В случае закрытого альфа/бета-тестирования убедитесь, что ваша тестовая учетная запись приняла участие в тестировании этого приложения через специальную ссылку для приглашения
  • Убедитесь, что вы создали в приложении биллинг в консоли разработчика и, наконец, активируете элемент с консоли!!! (это я получил после полного изучения учебника Google).

  • Обязательно установите VersionCode и VersionName в манифесте таким же, как версия в консоли разработчика (Alpha, Beta или Production. Черновики больше не работают). Ответ @alexgophermix работал у меня.

Если вы ищете тестирование платежей без фактического снятия денег, вам необходимо дополнительно добавить свою тестовую учетную запись в другой специальный список учетных записей "Gmail-аккаунты с доступом к тестированию", вы можете обнаружить, что при настройке игровой учетной записи (а не в проекте!), На странице, где вы можете увидеть список ваших проектов, перейдите в настройки, а затем на странице "Сведения об учетной записи" (прокрутите вниз, это почти в нижней части страницы) вы найдете список "учетные записи Gmail с доступом к тестированию".

Ответ 3

Вот что нужно проверить:

  • Вы создали apk и опубликовали его на панели управления GooglePlay в Alpha или Beta​​strong > .
  • Приложение в панели управления GooglePlay НЕ в черновом режиме, но в публикации (вам нужно сделать все маленькие круги с иконкой проверки в них в левой части экрана зеленым перед публикацией).
  • У вас установлена ​​еще одна тестовая учетная запись, чем та, которая "прикреплена" к панели инструментов GooglePlay. Вы можете сделать это, создав группу Google+, добавив свою тестовую учетную запись в эту группу и указав группу Google+ на панели управления GooglePlay.
  • Apk, который вы используете для проверки покупки, имеет тот же код версии, имя версии и, самое главное, он подписан с тем же хранилищем ключей, что и apk, что вы опубликовали в магазине.
  • Вы ждите пару часов между тем, когда вы меняете что-то в панели инструментов, чтобы изменения распространялись. Для этого требуется несколько часов.
  • Убедитесь, что значение sku является действительным значением sku (сравните его с тем, которое вы ввели в панели управления GP).
  • Вы попытаетесь приобрести уже приобретенный товар. Получите купленные предметы и покажите их в журнале, чтобы узнать, если это так. Если это так, то используйте этот продукт или верните деньги на свою тестовую учетную запись (вам нужно будет дождаться, когда возмещение будет распространено. Это займет пару часов.)
  • Убедитесь, что Inapps активны!

Что это для меня, после 6 часов, было последней частью:

  1. Убедитесь, что вы вошли в Google (в своем браузере) с тестовой учетной записью, и вы открываете эту ссылку (отмечен красным), и вы утверждаете, что станете тестером!!!! http://i.stack.imgur.com/VSgAV.png

UPDATE

  1. Если вы используете ароматы для создания apks, ориентированных на разные процессоры, и вы создаете для arm, armv7 и x86, и вы загружаете их все в магазин, не забудьте использовать один из них для проверки inapps, Если вы используете "универсальную" сборку, которая содержит все библиотеки cpu (в основном другую сборку, чем в магазине), она не будет работать.

Ответ 4

Это происходит, когда продукт Inactive в Play Store, Activate продукт, и он должен работать нормально.

Ответ 5

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

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

Ответ 6

Возможно, я делал это неправильно, но вы также получите эту ошибку, если тестируемая версия не находится в Play Store как Alpha, Beta или Production.

Я часто обновляю свой VersionCode и VersionName, все еще проверяя новую версию (перед загрузкой в ​​Play Store), а затем завершаю эту ошибку, когда я иду, чтобы проверить специфические функции IAB.

Ответ 7

Есть еще одна возможная причина этой ошибки, которая почти заставила меня с ума сойти на целый день, пока я не нашел, в чем проблема: версия apk. Если вы работаете с локальным apk (правильно подписанным, правильным ключом, исправляете идентификаторы продуктов) с номером версии выше, чем тот, который загружен в Play Store, вы также получите эту ошибку.

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

Ответ 8

Для моего случая нужно перейти, чтобы получить ссылку со вкладки APK Opt-in URL. Откройте браузер и используйте ссылку. Затем зарегистрируйтесь как тестер на этой странице.

Ответ 9

Если статус продукта находится в "Неактивном", активируйте его. это Решено для меня. Конечно, Google требует некоторое время для обновления

Также убедитесь, что ваша тестовая почта зарегистрирована.

Ответ 10

Последние добавления (2016/11):

  • тестер должен запросить подтверждение ACCEPT, взятый из ссылки, взятой из Консоль разработчика (раздел: APK)

  • приложение должно быть ОПУБЛИКОВАНО: это нормально публиковать в бета-тестировании; INFO: если вы нажмете "Опубликовать" в Консоли разработчика, он не опубликует приложение на Production, если вы не распространите его на вкладку "Производство" (в раздел APK);

Ответ 11

"Open Alpha Testing" или "Open Beta Testing" решили проблему для меня, пробовав все методы, предлагаемые по всему Интернету.

Перейдите в Консоль разработчика Android → Ваше приложение → APK, затем выберите, чтобы использовать Open Alpha/Beta. Отправьте ссылку, предоставленную вам или тестерам.

Пока они вошли в систему с этой учетной записью на своем Android-устройстве, они могут протестировать ее.

Удачи.

Ответ 12

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

Ответ 13

Возможны три возможности:

  • Сохраните APK в Google Play как черновик и не забудьте активировать его и опубликовать свои продукты с помощью уникальных идентификаторов.
  • Проверьте, что ваши идентификаторы идентичны идентификаторам продукта в игре Google.
  • или проверка типов предметов одинакова, например. Управляемый как в Google Play, так и в вашем коде.

Если вы не тестируете приложение публиковать. Просто сохраните его как черновик. И тогда подождите некоторое время может быть от 2 до 3 часов, чтобы активировать это.

Ответ 14

Чтобы решить эту проблему, выполните следующие действия:

  • Создайте продукт на консоли разработчика Google Play.

  • Сохраните и установите его в "Активный".

  • Загрузите APK в игру Google.

N.B. Платеж в приложении может не работать до тех пор, пока через 6 часов после создания вашего продукта не будет выполнен шаг 1.