是否可以使用 Google Play 排行榜和成就来跟踪消耗性 IAP-s?
Posted
技术标签:
【中文标题】是否可以使用 Google Play 排行榜和成就来跟踪消耗性 IAP-s?【英文标题】:Is it possible to use Google Play Leaderboards and Achievements to track consumable IAP-s? 【发布时间】:2015-04-15 17:43:04 【问题描述】:我想设计一款具有游戏内货币(硬币)的 android 游戏,可以通过玩游戏赚取或用真钱买的。然后可以将这种货币用于不同的升级。
显然我需要存储玩家的硬币数量和他们在网上购买的升级列表,以免在他们决定卸载游戏时丢失这些信息。但是,我无法访问服务器,因此我想使用 Google Play 服务将此信息存储在隐藏的成就/排行榜中。
我的想法是设置两个排行榜:一个用于赚取+购买的硬币总数,另一个用于花费的硬币总数。每当玩家赚取金币或使用消耗性 IAP 购买它们(购买后立即消耗,以便他们以后可以再次购买),或者每当玩家决定将部分金币用于升级时,这些排行榜都会更新。升级本身将作为成就存储,因此如果他们购买了东西,特定的成就就会解锁。
这样所有的购买信息都会在线存储,如果玩家重新安装游戏,他们不会丢失任何进度:购买的升级列表存储在他们解锁的成就中,他们剩余的金币数量只是两个排行榜的得分之差。
这种方法似乎也比在本地存储信息或建立与自定义服务器的连接更安全。而且由于 Play 服务在离线时缓存数据并稍后同步,因此商店可以在没有互联网连接的情况下使用(除了通过 IAP 购买硬币)。唯一的缺点是它会影响 Play Games 登录,所以我必须在进行任何交易之前进行检查。基本上,整个“商店”菜单都会以 Google Play 服务登录开始。
我的问题是,您认为此解决方案有什么问题吗?是否有可能意识到这一点,或者我是否误解了任何概念(到目前为止,我只使用过非消耗性 IAP,跟踪消耗性的方式对我来说有点不清楚)。是否违反了 Play Services 的使用条款(我还打算创建一些传统的排行榜和成就,所以不会隐藏所有内容)?最后,有没有更简单的方法可以在不使用服务器的情况下做到这一点?
提前谢谢你:) 彼得
【问题讨论】:
【参考方案1】:这个想法听起来很不灵活。为什么不直接使用 Google 的 Saved Games API?这将基本上完成您想要使用适当的 API 执行的操作,而不是使用排行榜/成就 API。您可以定义任何类来将数据保存到云端并跨设备同步。
另外,Google 有一些默认 UI 用于显示排行榜和成就。如果您想使用真实(未隐藏)的排行榜或成就,您必须编写自己的 UI 并过滤掉隐藏的。
【讨论】:
以上是关于是否可以使用 Google Play 排行榜和成就来跟踪消耗性 IAP-s?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Play 游戏服务中获取排行榜和成就信息