inappbilling - getProducts

Так что, я думаю, вы могли бы сказать, что я чувствую, что нахожусь в пустоте. Вот как я понимаю порядок распределения inappbilling - настройка Android Инициируйте биллинг getProducts (send_in_array_of_products) Теперь, когда это сделано, я могу отправлять запросы на потребление, покупку и т. Д.

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

Когда я пошел запускать игру во второй раз, мне не удалось получить список продуктов - оказалось, что это выдало мне следующую ошибку: 1003 - Ошибка обновления инвентаря (запрос принадлежащих предметов). Хорошо - что теперь??

Я не могу загрузить getProducts() из-за этой ошибки. Я попытался отправить потребление для каждого продукта, и это не удалось. Кажется, я застрял в ситуации, когда ничего не могу сделать с магазином, потому что не могу загрузить список товаров.

Android говорит, что вы должны позвонить в магазин, чтобы получить список продуктов, которыми владеет человек, но я не вижу такой функции в пакете distriqt.

Может ли кто-нибудь объяснить, что мне нужно сделать, чтобы магазин снова заработал. Как мне запросить список продуктов, исключив продукты, которыми они владеют, если я не знаю, какими продуктами они владеют? Кроме того, если я знаю, чем они владеют, не должен ли Потребитель (продукт) удалить его из купленного продукта?

Кто-нибудь знает, можно ли запустить потребитель (продукт) без предварительного выполнения команды getProducts()?

Спасибо за любую помощь, которую вы можете предоставить.


person jetacer    schedule 29.01.2016    source источник
comment
Вам следует подумать о добавлении большего контекста и тегов, чтобы люди, которые имеют достаточно знаний о вашей проблеме, чтобы ответить на ваш вопрос, могли ответить на него. Кроме того, вы должны включить несколько примеров кода, если это возможно.   -  person kazagistar    schedule 30.01.2016


Ответы (1)


Этот ответ действительно относится к Distriqt InAppBilling ANE, но он может помочь другим людям, столкнувшимся с той же проблемой. используя различные методы программирования. Примерно через неделю возни я, наконец, понял это.

Вы должны убедиться, что вызов

InAppBilling.service.finishPurchase(purchase-information)

команда.

В противном случае плеймаркет увидит это как открытую транзакцию и при попытке получить список продуктов - вылетит с кодом ошибки 1003 - Error refreshing inventory (querying owned items).

Чтобы исправить это, я сделал вызов finishPurchase для всех своих продуктов. Как только это было сделано, все снова заработало правильно. Просто не забудьте вызвать команду finishPurchase для всех возвращенных событий покупки. Я пропустил этот вызов в событии сбоя, и это вызвало у меня головную боль. Вы могли бы подумать, что если покупка не удалась, Google просто закроет транзакцию, но нет — вам все равно придется сказать им, что она завершена. Надеюсь, это поможет кому-то!

person jetacer    schedule 30.01.2016
comment
Привет, рад, что ты нашел решение. Функция finishPurchase используется, чтобы позволить вам выполнить проверку транзакции на стороне сервера перед завершением покупки. Для получения дополнительной информации вы можете прочитать руководство по началу работы здесь, в разделе о совершении покупки эта информация выделена: airnativeextensions.com/extension/ Удачи! - person Michael; 03.02.2016
comment
Кроме того, в качестве примечания, если у вас есть лицензия на поддержку, вы можете получить активную поддержку, разместив сообщение в репозитории github. - person Michael; 03.02.2016