Я пытаюсь интегрировать покупки в 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
Любые мысли будут оценены!