2013-08-20 6 views
8

Niektóre tablice wyników otrzymywały fałszywe wyniki. Oto przykład:Fałszywy wynik w Usługach gier Google Play

Top three scores seem fake

To samo stało się w grze zrobiłem. Czy istnieje sposób, aby chronić siebie przed fałszywymi wnioskami i czy istnieje sposób moderowania tablic wyników?

+0

Znalazłeś lepszy sposób na walkę z oszustami, oprócz ukrywania fałszywych wyników? – shelll

+1

Dla wszystkich. Istnieje narzędzie do zarządzania z serwisów gier Google na github https://github.com/playgameservices/management-tools/tree/master/tools/hide-o-matic Przeczytaj wstęp, aby dowiedzieć się, jak z niego korzystać =) – user3487188

Odpowiedz

11

Najprostszym (i popularnym?) Sposobem podrabiania wyników przez użytkowników jest użycie root access to edit saved data.

kilka prostych kroków, które można podjąć, aby utrudnić:

  1. nie trzymaj wynik jak w pamięci lub na zapisanego stanu. Na przykład wielokrotne dzielenie przez współczynnik & dodaje stałą. Jeszcze lepszą opcją jest zaimplementowanie zaszyfrowanej preferencji współdzielonej.
  2. Dodaj sumę kontrolną do struktury zawierającej wynik (CRC32, MD5).
  3. Potwierdź wynik, aby sprawdzić, czy nikt nie grał z nim podczas ładowania z zapisanego stanu lub odczytu/zapisu w pamięci.
  4. Użyj ProGaurd do zaciemnienia kodu. Jeśli zarabiasz pieniądze, używaj DexGuard, który jest znacznie silniejszy, a także utrudnia piractwo komputerowe.
+0

Czy możesz wyjaśnić # 3 nieco więcej? –

+2

Zasadniczo to samo, co (2) - sprawdź poprawność kodu CRC. – sagis

7

dwóch technik które polecam ...

  1. Dodaj maksymalnej i minimalnej wartości do tablicy w konsoli programisty. Jeśli masz tabelę wyników dla wszystkich gwiazd i w grze jest tylko 180 gwiazdek, ustaw 180 jako wartość maksymalną. To zapewni, że oszuści nie będą musieli dodawać tych fałszywych wyników.
  2. Sprawdź połączenie players.hide(). Spowoduje to ukrycie gracza i wszystkich jego wyników z publicznej tablicy wyników, aby nikt inny nie mógł ich zobaczyć. Należy pamiętać, że to wywołanie REST nie jest wbudowane w mobilne biblioteki; aby móc korzystać z tej rozmowy, musisz utworzyć własną miniaplikację internetową (lub wywołać curl bezpośrednio).
+2

To robi nie całkowicie rozwiązać problem. Nawet wynik 180 może być fałszywym wynikiem zgłoszonym przez oszusta. Google powinno w jakiś sposób radzić sobie z przesyłaniem fałszywych wyników, tak jak w przypadku zakupów aplikacji, np. przez podpisanie każdego wniosku o przyznanie wyniku. – shelll

+0

Nie można zapobiec fałszywym wynikom. Wszystko, co możesz zrobić, to utrudnić osiągnięcie. – kupsef

+0

@Todd w funkcji player.hide(), skąd otrzymamy wartość parametru "playerid"? (Jeśli nie masz nic przeciwko) – DroidHeaven