2013-08-20 3 views
8

Alcuni dei tabelloni segnapunti hanno ricevuto segnalazioni di punteggi falsi. Ecco un esempio:Punteggi falsi nei servizi di gioco di Google Play

Top three scores seem fake

La stessa cosa è successa a un gioco che ho fatto. C'è un modo per proteggere se stessi da presentazioni false e c'è un modo per moderare i tabelloni?

+0

Hai trovato un modo migliore per combattere gli imbroglioni tranne nascondere i loro punteggi falsi? – shelll

+1

Per tutti. C'è uno strumento di gestione da gameplayservices di google su github https://github.com/playgameservices/management-tools/tree/master/tools/hide-o-matic leggi l'introduzione per imparare come usarlo =) – user3487188

risposta

11

Il modo più semplice (e popolare?) In cui gli utenti falsificano i punteggi migliori è utilizzando root access to edit saved data.

pochi semplici passaggi è possibile adottare al fine di rendere più difficile:

  1. Non tenere il punteggio, come è nella memoria o su stato salvato. Ad esempio, moltiplicare/dividere per un fattore & aggiungere una costante. L'opzione migliore è implementare una preferenza condivisa crittografata.
  2. Aggiungere un controllo alla struttura con il punteggio (CRC32, MD5).
  3. Convalidare il punteggio per verificare che nessuno abbia giocato con esso durante il caricamento dallo stato salvato o durante la lettura/scrittura nella memoria.
  4. Utilizzare ProGaurd per offuscare il codice. Se stai facendo soldi usa DexGuard che è molto più forte e renderà anche la pirateria del software più difficile.
+0

puoi spiegare il n. 3 un po 'di più? –

+2

È praticamente uguale a (2) - convalida il codice CRC. – sagis

7

due tecniche mi sento di raccomandare ...

  1. Aggiungi un valore massimo e minimo al leaderboard nella Console per gli sviluppatori. Se hai una classifica per le stelle totali e ci sono solo 180 stelle nel gioco, imposta 180 come valore massimo. Ciò assicurerà che gli imbroglioni non finiscano per aggiungere questi punteggi falsi.
  2. Controllare la chiamata players.hide(). Ciò nasconderà un giocatore e tutti i suoi punteggi dalla classifica pubblica in modo che nessun altro possa vederli. Si noti che questa chiamata REST non è integrata nelle librerie mobili; per utilizzare questa chiamata dovrai creare la tua mini app web (o effettuare direttamente le chiamate di arricciatura).
+2

Questo fa non risolvere completamente il problema. Anche il punteggio di 180 può essere un punteggio falso presentato da un imbroglione. Google dovrebbe in qualche modo gestire l'invio di punteggi alti falsi, come quelli che gestiscono negli acquisti di app, ad es. firmando ciascuna richiesta di punteggio di invio. – shelll

+0

Non puoi impedire punteggi falsi. Tutto quello che puoi fare è renderlo più difficile da realizzare. – kupsef

+0

@Todd nella chiamata player.hide(), da dove otterremo il valore del parametro "playerid"? (Se non ti dispiace) – DroidHeaven