问题
我正在尝试在应用计费 v3 中实现,除了一件事之外,一切都很好。消费或购买商品后,我会拨打请求电话以更新库存。但是结果总是产生旧的库存而不是新的库存,添加或删除的项目。
这可能是预期的行为,我确实有一个解决方法,但它仍然很烦人。
解决方法
我的工作存在于应用内计费的特殊“处理程序/包装器”中。这个“处理程序”有一个简单的生命周期。
1. create(新调用):创建一个新IabHelper
对象并使用公钥做一些魔术
2. startUp:调用startSetup
方法,IabHelper
成功时设置一个标志。如果成功,它会进行更新库存调用。
3.close :销毁IabHelper对象
处理程序实现该onQueryInventoryFinished
方法,当调用此方法并且结果为成功时,使用此方法提供的 Inventory 参数更新本地 Inventory 对象。
所以基本上我制作的处理程序有两个字段,一个 Inventory 和一个用于成功设置的标志。例如,处理程序还具有用于回调活动的自定义接口。
还有两种方法:buy and consume
.
成功购买或消费商品后,我想更新当前库存,但这不像之前所说的那样工作。
我的解决方法:从本地 Inventory 对象中手动删除或添加购买。(这应该在购买或消费方法中完成。)
更好的方法?
有没有更好的“更容易接受”的方式来做到这一点?