在消费之前我是否需要购买物品? (Google应用内结算)

时间:2015-03-30 15:53:29

标签: mobile in-app-billing

我制作的游戏只有消费品可以购买。 使用Google In-app Billing v3。

我的物品是不受管理的,我试图让它们被消耗掉。 问题是:

当我使用代码来消费"该产品,它会抛出一个错误,表示该商品需要购买才能被消费,或者我没有成功查询库存(但我确实如此)。

当我使用代码来"购买"该项目,它表示当我再次购买它时已经拥有它。

那它是如何运作的呢?我是否必须创建"购买"并且"消费"在我的代码?我的代码是否必须先查看该项目是否已购买,如果是,它将运行" consume"命令?

感谢您澄清

1 个答案:

答案 0 :(得分:0)

您应首先在应用启动时从服务器查询购买的商品

public void queryInventoryAsync(QueryInventoryFinishedListener listener)

如果有任何消耗品,请向服务器发送消耗品请求

Quoting the docs

  

在用户启动时检查耗材是非常重要的   你的申请。通常,您首先会查询应用内结算   为用户购买的物品提供服务(通过queryInventoryAsync),   然后从库存中获取消耗品购买对象。如果你的   应用程序检测到所有的消耗品   用户,您应该向Google Play发送消费请求   立即将项目提供给用户。查看TrivialDrive   示例,了解如何在启动时实现此检查