0

所以我想你可以说我觉得我发现自己处于空虚中。这是我理解 distriqt inappbilling 顺序的方式 - android setup 初始化计费 getProducts(send_in_array_of_products) 现在完成了,我可以发送消费、购买等请求。

我第一次运行程序时,它返回了产品。我进行了一次测试购买,但购买失败 - 它进入了 android 登录并验证信用卡 - 然后触发了购买失败事件(我不知道为什么它此时失败了)。我此时关闭了游戏并进行了一些更新以跟踪更多正在发生的事情。

当我第二次运行游戏时,它未能获取产品列表 - 结果它给了我以下错误:1003 - 刷新库存时出错(查询拥有的物品)。好的 - 现在怎么办??

由于此错误,我无法加载 getProducts()。我尝试为每种产品发送消费,但失败了。似乎我被困在一个无法对商店做任何事情的地方,因为我无法加载产品列表。

Android 说您应该致电商店以获取该人拥有的产品列表,但我在 distriqt 包中看不到该类型的功能。

谁能解释我必须做什么才能让商店重新运转。如果我不知道他们拥有什么产品,如何通过省略他们拥有的产品来请求产品列表?另外,如果我知道他们拥有什么 - 不应该消费(产品)将其从购买的产品中删除吗?

有谁知道您是否可以在不先执行 getProducts() 命令的情况下运行 consume(product) ?

感谢您的任何帮助,您可以提供。

4

1 回答 1

0

这个答案确实适用于Distriqt InAppBilling ANE,但它可能有助于其他人使用不同的编程方法遇到同样的问题。折腾了一个多星期,终于弄明白了。

你必须确保调用

InAppBilling.service.finishPurchase(purchase-information)

命令。

否则,Play 商店会将其视为未结交易,并且当您尝试获取产品列表时,它会失败并显示错误代码1003 - Error refreshing inventory (querying owned items)

为了解决这个问题,我对我的所有产品进行了 finishPurchase 调用。完成后,一切都重新开始正常工作。请务必finishPurchase在所有返回的购买事件上调用该命令。我错过了失败事件中的那个电话,那是让我头疼的电话。你会认为如果购买失败,谷歌只会关闭交易,但不会 - 你仍然必须告诉他们它已经完成。希望这对某人有帮助!

于 2016-01-30T19:33:34.720 回答