如何购买和消费个人币?

How purchase and consume Individual coins?

我有一包硬币,用户可以购买。例如:

如果用户购买50个游戏币,用户可以一个一个地消费游戏币。

有没有办法让Google做库存管理?,比如在Google服务器里保存了一个方法如果用户有 50 个硬币并花费 10 个,他的库存中有 40 个硬币。

如果这不可能,我将不得不自己管理硬币库存。在本地设备中我不能这样做,因为我希望它们与用户帐户相关联。所以我只能管理我游戏服务器里的币

我认为自己完成这个实现非常危险。比如用户买了一包,我调用我的服务器服务器增加那个用户账户的金币数量。我的服务器回答 "OK" 因为他添加了硬币。然后在我使用的应用程序中消耗硬币包,以便有证据表明它们已正确添加到您的帐户中。

但是如果响应中出现游戏服务器连接错误,应用程序将不会使用它们,用户可以再次将它们添加到库存中,这只是一个问题示例,但我有不同的实现方式认为可能会发生一些故障。

是否有实施的示例或方案来管理在"game server"中有库存的用户的硬币?

附加信息:我的服务器是 java,其余 api。

你很接近。

  1. 当您进行购买时,将购买令牌发送到您的服务器(就像您在上面写的那样)。
  2. 您的服务器应该使用 Google Developer API 来确认这是真实的购买。如果是,则将硬币添加到数据库并将购买标记为已兑换。它以用户现在拥有的硬币数量作为响应,以便应用程序可以显示它。

关于步骤(2)失败的问题: 您可以做的是在应用开始使用 In-App billing library 时检索用户的购买,并向服务器发送请求以获取之前失败的购买。当然,您需要某种本地数据库(或使用共享首选项)来存储那些失败的和成功兑换的。