18

我面临着完全相同的问题

In-app billing v3 无法在没有网络连接或飞机/飞行模式下查询项目

它并不总是发生。您需要将手机切换到飞行模式,或者关闭wifi,等待几个小时,才会出现问题。将显示以下错误消息。

查询库存失败:IabResult:刷新库存时出错(查询商品价格)。(响应:6:错误)

作者建议使用

List<String> skulist = new ArrayList<String>();
skulist.add("my_sku_name1");
skulist.add("my_sku_name2");
mHelper.queryInventoryAsync(true, skulist, mGotInventoryListener);

解决问题。

但是,它对我不起作用。同样的问题仍然出现。

这个问题的任何解决方法?谢谢。

4

2 回答 2

8

正如杰里在他的评论中建议的那样,您可以通过调用来解决这个问题

mHelper.queryInventoryAsync(false, mGotInventoryListener);

代替

mHelper.queryInventoryAsync(mGotInventoryListener);

我已禁用设备的所有网络连接(超过一天),并且可以通过单个参数更改可靠地重现/修复问题。与价格等 sku 详细信息相比,应用内计费服务似乎将购买本身缓存的时间更长(无限期?)。

于 2014-02-03T23:01:44.153 回答
3

Google Play 的缓存库存项目似乎已过期。这可能是 Google Play 应用程序如何工作的实现细节。

错误 6 定义为 BILLING_RESPONSE_RESULT_ERROR。

如果在没有 Internet 连接的情况下提供库存以供购买对您来说至关重要,您可能需要自己缓存最后返回的结果,并在查询失败时使用它们。

但是,在这种情况下,采购也行不通,何必呢?

于 2013-06-24T06:12:50.783 回答