【问题标题】:distriqt inappbilling - getProductsdistriqt inappbilling - getProducts
【发布时间】:2016-01-29 20:24:52
【问题描述】:

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

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

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

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

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

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

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

感谢您提供的任何帮助。

【问题讨论】:

  • 您应该考虑添加更多上下文和标签,以便有机会充分了解您的问题并回答您的问题的人可以回答它。此外,如果可能,您应该包含一些代码示例。

标签: distriqt


【解决方案1】:

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

你必须确保调用

InAppBilling.service.finishPurchase(purchase-information)

命令。

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

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

【讨论】:

  • 嗨,很高兴您找到了解决方案。 finishPurchase 函数用于允许您在完成购买之前对交易执行服务器端验证。有关更多信息,您可以在此处阅读入门指南,“购买”部分突出显示此信息:airnativeextensions.com/extension/…Cheers
  • 另外,附带说明一下,如果您持有支持许可证,则可以通过在 github 存储库中发布来获得积极支持。
猜你喜欢
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-07-22
相关资源
最近更新 更多