用户造假最简单(也是最流行的?)的方法就是使用root访问编辑保存的数据。 以下是几个简单的步骤,可以使得造假更加困难: 不要将分数直接存储在内存中或者保存状态中。例如,可以使用乘以/除以一个因子和加上一个常数的方式来存储。更好的选择是实现加密的共享首选项。 在存储分数的数据结构中添加校验和(CRC32、MD5)。 在从保存的状态中加载或者在内存中读取/写入时,验证分数以检查是否有人篡改了它。 使用ProGuard来混淆你的代码。如果你正在赚钱,使用DexGuard会更强大,还会使软件盗版更加困难。
我推荐两个技巧: 在开发控制台为排行榜添加最大值和最小值。如果您的排行榜是基于总星数的,并且游戏中只有180颗星星,那么请将180设为最大值。这将确保作弊者不能添加虚假得分。 查看 players.hide()调用。这将隐藏玩家及其所有得分,使公共排行榜上没有人可以看到它们。请注意,此REST调用并未内置到移动库中;您需要创建自己的迷你web应用程序(或直接进行curl调用)才能使用此调用。