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

Покупка Android-приложений - RESULT_ITEM_UNAVAILABLE

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

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

/** An array of product list entries for the products that can be purchased. */
private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("lemonstorm.huru.full", "Full v", Managed.MANAGED),
    new CatalogEntry("android.test.purchased", "purchased",Managed.UNMANAGED),
    new CatalogEntry("android.test.canceled", "cancelled",Managed.UNMANAGED),
    new CatalogEntry("android.test.refunded", "Refunded",Managed.UNMANAGED),
    new CatalogEntry("android.test.item_unavailable", "unavailable",Managed.UNMANAGED)
};

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

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

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

В документации для RESULT_ITEM_UNAVAILABLE указано следующее:

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

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

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

4b9b3361

Ответ 1

У меня была такая же проблема. После того, как я опубликовал приложение, продукты были найдены. Похож на ошибку в тестовых учетных записях Google (?)

Ответ 2

У меня была такая же проблема. Я играл с образцом Dungeons и пропустил, что sword_001 и продукты potion_001 должны быть "Опубликовано". Проблема для меня заключалась в том, что они только что спаслись и остались "Неопубликованными".

Чтобы решить эту проблему, я только что отредактировал продукты и нажал кнопку "Опубликовать" для обоих. Теперь я могу купить оба из примера приложения.

Ответ 3

Насколько я знаю:

  • Означает ли код версии с неопубликованным черновиком приложения на вашем сайте публикации?
  • Вы касались Factory данных reset для проверки учетной записи?
  • Вы установили управляемый продукт вашего lemonstorm.huru.full на сайте публикации?

Ответ 4

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

http://developer.android.com/guide/market/billing/billing_testing.html

Ответ 5

Кроме того, не забудьте подписать приложение при его экспорте.

Ответ 6

Я получил BillingClient.BillingResponse#ITEM_UNAVAILABLE и это сообщение из библиотеки Play Billing:

ProxyBillingActivity: получен обновленный результат покупок с resultCode 0 и биллингом responseCode: 4

Оказывается, я забыл посетить ссылку opt-in для тестирования (я только добавил тестер в список альфа-тестеров и в список пользователей с доступом к тестированию лицензий).