Chr*_*ton 5 android unity-game-engine google-play-services google-play-games
Google Play 游戏服务指南规定如下:“登录后,玩家必须始终可以选择退出。”
想象以下场景:
我看到了两种管理玩家数据的选项:1. 将他们所有在云中保存的数据复制到本地设备存储 2. 重新启动用户,将数据保存到本地存储(如果他们重新登录,他们将可以访问他们的云再次保存数据)
第一个选项听起来最合乎逻辑,但这也意味着如果用户再次登录,我会将本地数据同步回云。因此,用户可以退出,直接更改其设备上本地存储的首选项(例如添加 1000000 个硬币),然后重新登录并同步该数据。
我的问题是,尽管(某些)玩家可能会篡改他们的数据,但同步数据是否是“正确”的方法?我已经能够找到大量有关退出的信息,但无法找到之后该怎么做。
谢谢!
我的问题是,尽管(某些)玩家存在篡改数据的风险,但双向同步数据是否是解决此问题的“正确”方法?
没有。将评分系统分为两个:
离线和在线评分。
当用户退出时,获取在线分数并将其保存到离线分数。用户的离线分数将从用户离开在线分数的位置继续。
如果您决定再次登录,请使用在线分数。还可以用在线分数更新他们的离线分数。
这样做只会让玩家更难修改分数。如果游戏在玩家这边运行,如果玩家了解基本的 APK 逆向工程,他们随时可以更改分数。数据不必保存在其他文件中即可更改。它可以在内存中改变。它还可以通过反编译、更改代码、编译和签名 APK 来更改。
现在,如果您使游戏在服务器上运行但读取用户的输入,那么除非您的服务器被黑客入侵,否则游戏无法更改。