I've recently added OpenFeint API to my applications, to share online leaderboard highscores.
I've noticed that not long after i've added the leaderboard, few records has been added with impossible values to the first places in the leaderboard, so it MUST be a cheat.
Is there a way to avoid it? To protect my apps from frauds? I've tried to look for such a solution over the web but could开发者_开发知识库n't find any.
Your customers have access to the data on their phone, and the data being transmitted. Because of this fundamental fact, they can do whatever they want with that data.
There is no way to circumvent this problem unless you develop your own server. And not just a server to track achievements and scores. But a server that tracks every single user input that your game receives. A good example of this are multiplayer games. MMO's, FPS's that all rely on a server to tell the client applications 'no you can't perform that right now', or 'yes you can do that'. In this way, your scores, your achievements, everything will be in line because the server is giving out permission every step of the way.
For simple games, I would just keep weekly scores. Wipe them every week, because what hacker is going to put their stupid fake high score up there on a weekly basis. I'm not sure if OpenFeint has this feature, but I'm sure you could build a simple script that wipes the boards week by week.
精彩评论