我在两个不同的设备上拥有相同的帐户。如果我在一台设备上购买了东西,它就不会在另一台设备上显示。我使用queryInventoryAsync来获取skuList。但谷歌在两台设备上都会返回不同的结果。
但如果我卸载该应用并再次安装它将返回正确的结果
答案 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服务器恢复购买信息,这可能会为您提供正确的结果。