【问题标题】:How purchase and consume Individual coins?如何购买和消费个人币?
【发布时间】:2018-01-30 07:50:36
【问题描述】:

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

  • 50个硬币
  • 200个硬币
  • 500个硬币

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

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

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

我认为自己执行此操作非常危险。例如,用户购买了一个包,我调用我的服务器来增加该用户帐户的硬币数量。我的服务器回答“OK”,因为他添加了硬币。然后在我使用的应用程序中消耗硬币包,以便有证据表明它们已正确添加到您的帐户中。

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

是否有实施示例或方案来管理具有“游戏服务器”库存的用户的硬币?

附加信息:我的服务器是带有 api rest 的 java。

【问题讨论】:

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


    【解决方案1】:

    你已经接近了。

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 2018-09-12
      • 2014-08-03
      • 2014-12-07
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多