"You already own this item" Google 播放inapp错误

"You already own this item" Google play inapp error

我已经实施了 API 版本 3 GooglePlay Inapp 购买。

我在两台设备上使用同一个 Google 帐户登录。

device #1,我刚刚购买了一件商品:https://developer.android.com/google/play/billing/billing_integrate.html#Purchase
当我立即查询购买的商品(在 device #1 上)时:https://developer.android.com/google/play/billing/billing_integrate.html#QueryPurchases 它 return 是应用程序内的信息,所以一切都很好。

当我在 device #2 上查询购买列表时,它不会 return 我刚刚购买的商品,它 return 是一个空列表。

当我尝试在 device #2 上购买商品时,它告诉我我已经拥有它。

为什么 device #1 的购买没有反映在 device #2 上?

请注意,inapps 是 Managed products,因此 Google 应该使用相同的 google 帐户处理不同设备之间的同步,对吗?

GooglePlay 上的更改似乎需要一段时间才能真正生效。我购买商品的设备似乎缓存了我这样做的内容,它没有询问 GooglePlay,而是从本地缓存中获取。 这就是为什么另一台设备不知道购买的原因。 第二台设备用了大约一个小时从 GooglePlay 接收购买信息。

使购买无效以再次测试

这适用于用户只能购买一次的产品。这意味着您不会消费购买的商品。稍后再详细介绍消费。

在这种情况下,在您购买后,如果您再次尝试购买,您将收到一条错误消息,提示您已经拥有该商品。

你是怎么克服的?

您从 Google Play 管理中心退款。但有一个问题。当您退款时,您将必须删除该产品的权利,否则用户仍然会收到它已经拥有该产品的错误消息。

为此,您可以从 Google Play 控制台主菜单进入订单管理,然后 select 您刚刚从您的应用下达的订单。 (如果是测试订单,它会在产品名称前显示测试:)。然后在订单详情中,您点击退款,然后会出现一个屏幕,其中包含一些退款选项,如下所示。

在此屏幕中,确保选中移除权利框,这样用户将不再拥有其 Google 帐户中的产品。单击退款后,您将能够再次购买给定的产品。