Android:在App Purchased list queryInventoryAsync中,Google返回错误的购买列表

时间:2016-07-19 06:28:36

标签: android in-app-purchase in-app-billing

我在两个不同的设备上拥有相同的帐户。如果我在一台设备上购买了东西,它就不会在另一台设备上显示。我使用queryInventoryAsync来获取skuList。但谷歌在两台设备上都会返回不同的结果。

但如果我卸载该应用并再次安装它将返回正确的结果

2 个答案:

答案 0 :(得分:0)

对Google的查询始终会返回与该帐户关联的已购买商品。即使您使用多个设备上的帐户登录,它也会在所有设备上返回相同的购买列表。

问题可能是您在一台设备上拥有多个帐户。

您从一个帐户购买了IAP,并在设备" xxx "中购买 xxx@gmail.com 。 你有另一台设备" yyy "您的应用从 yyy@gmail.com 下载的位置。 您可能正在添加" xxx@gmail.com "在设备上 yyy

在这种情况下,您在设备上的主要帐户" yyy "是 yyy@gmail.com 。查询谷歌会为帐户 yyy@gmail.com 重新购买物品。

如果设备有多个帐户,则会使用下载该应用的帐户进行购买/查询

答案 1 :(得分:0)

Google Play从V3开始在设备上本地缓存应用内结算信息。当您查询购买时,它不会从Google服务器获取数据,而是查找本地缓存。这可能是您查询时没有得到正确结果的原因。清除Google Play应用的缓存数据并启动您的应用。这次Google会从Google服务器恢复购买信息,这可能会为您提供正确的结果。