distriqt inappbilling - getProducts

时间:2016-01-29 20:24:53

标签: distriqt

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

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

当我第二次运行游戏时,它无法获得产品列表 - 事实证明它给了我以下错误:1003 - 刷新库存时出错(查询自有物品)。好的 - 现在是什么?

由于此错误,我无法加载getProducts()。我已经尝试过为每个产品发送消费而且失败了。好像我陷入了一个我无法对商店做任何事情的地方因为我无法加载产品清单。

Android表示你打算打电话到商店获取该人拥有的产品列表,但我在distriqt包中没有看到这种类型的功能。

任何人都可以解释我必须做些什么才能让商店再次运作。如果我不知道他们拥有哪些产品,如何通过省略他们拥有的产品来申请产品清单?此外,如果我确实知道他们拥有什么 - 不应该消费(产品)将其从购买的产品中删除?

有没有人知道你是否可以在不首先执行getProducts()命令的情况下运行使用(产品)?

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

这个答案真的适用于enter image description here,但它可能有助于其他人使用不同的编程方法遇到同样的问题。经过大约一个星期的捣乱,我终于明白了。

你必须确保调用

InAppBilling.service.finishPurchase(purchase-information)

命令。

否则,Play商店会将此视为一个打开的事务,当您尝试获取产品列表时 - 它会失败并显示错误代码1003 - Error refreshing inventory (querying owned items)

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