我想通过玩游戏来设计一款游戏币(币)可以赚取的Android游戏,或者用真钱买了。然后可以将此货币用于不同的升级。
显然,我需要存储玩家的硬币数量和他们在网上购买的升级列表,如果他们决定卸载游戏,不要丢失这些信息。但是,我无权访问服务器,因此我想使用Google Play服务将此信息存储在隐藏的成就/排行榜中。
我的想法是设置两个排行榜:一个用于所赚取的硬币总额+购买,另一个用于花费的总金额。这些排行榜将在玩家获得硬币或购买消费品IAP(购买后立即消费以便以后再购买)或者玩家决定在升级时花费部分硬币时更新。升级本身将存储为成就,因此如果他们购买了某些东西,具体的成就就会解锁。
这样所有购买信息都将在线存储,如果玩家重新安装游戏,他们就不会失去任何进展:购买的升级列表存储在他们未锁定的成就中,剩余硬币的数量只是两个排行榜得分之间的差异。
此方法似乎比在本地存储信息或建立与自定义服务器的连接更安全。由于Play服务在离线时缓存数据并在以后同步,因此可以在没有互联网连接的情况下使用商店(除了购买带有IAP的硬币)。唯一的缺点是它会对Play Games登录进行封锁,所以我必须在任何交易之前检查一下。基本上整个“商店”菜单都会以Google Play服务登录开始。
我的问题是你看到这个解决方案有什么问题吗?是否有可能实现它或者我误解了任何概念(到目前为止我只使用非消耗性IAP,跟踪消耗品的方式对我来说有点不清楚)。是否打破了Play服务使用条款(我还打算创建一些传统的排行榜和成就,所以不会隐藏所有内容)?最后,如果不使用服务器,有没有更简单的方法呢?
提前谢谢你:) 彼得
答案 0 :(得分:4)
这个想法听起来不灵活。为什么不使用Google提供的Saved Games API?这将基本上用你想用的API做,而不是使用排行榜/成就API。您可以定义任何类以将数据保存到云并跨设备同步。
另外,Google有一些默认的用户界面来显示排行榜和成就。如果您想使用真实(非隐藏)排行榜或成就,您必须编写自己的用户界面并过滤掉隐藏的用户界面。