我最近在我的应用程序中添加了 OpenFeint API,以分享在线排行榜的高分。
我注意到,在我添加排行榜后不久,很少有记录被添加到排行榜的第一位,并且具有不可能的值,所以这一定是作弊。
有没有办法避免它?保护我的应用免受欺诈?我试图在网上寻找这样的解决方案,但找不到任何解决方案。
您的客户可以访问他们手机上的数据以及正在传输的数据。由于这个基本事实,他们可以对这些数据做任何他们想做的事情。
除非您开发自己的服务器,否则无法规避此问题。而不仅仅是一个跟踪成就和分数的服务器。但是一个服务器会跟踪你的游戏接收到的每一个用户输入。多人游戏就是一个很好的例子。MMO、FPS 都依赖服务器来告诉客户端应用程序“不,你现在不能执行那个”,或者“是的,你可以这样做”。这样一来,你的分数、你的成就,一切都将是一致的,因为服务器在每一步都给予许可。
对于简单的游戏,我只保留每周分数。每周擦拭它们,因为黑客会每周将他们愚蠢的假高分放在那里。我不确定 OpenFeint 是否具有此功能,但我相信您可以构建一个简单的脚本来每周擦拭板。