Google Play游戏服务中的假分数

一些记分牌已经收到假分数提交。 这里是一个例子:

前三名的分数似乎是假的

同样的事情发生在我制作的游戏中。 有没有办法保护一个自己的虚假提交,有没有减轻记分牌的方式?

Solutions Collecting From Web of "Google Play游戏服务中的假分数"

用户假冒高分的最简单(和stream行的)方法是使用root访问来编辑保存的数据 。

几个简单的步骤,你可以采取以使其更难:

  1. 不要按照内存或保存状态保持分数。 例如多个/除以一个因子并添加一个常数。 更好的select是实现一个encryption的共享首选项。
  2. 添加一个检查总和持有分数(CRC32,MD5)的结构。
  3. 从保存状态加载或在内存中读取/写入时,validation分数以检查没有人玩过它。
  4. 使用ProGaurd来混淆你的代码。 如果你赚钱,使用DexGuard更强大,也会使软件盗版更困难。

我会推荐两种技术…

  1. 在开发者控制台中向您的排行榜添加最大值和最小值。 如果您有总积分榜的排行榜,并且游戏中只有180颗星,请将180设为最大值。 这将确保作弊者最终不会增加这些假冒的分数。
  2. 查看players.hide()调用。 这将隐藏一个球员和所有他/她的分数从公众排行榜,以便没有人能看到他们。 请注意,这个REST调用没有内置到移动库中。 你需要创build自己的迷你networking应用程序(或直接进行curl调用)来使用此调用。