Tabele wyników mogą być świetnym sposobem na zachęcenie graczy do rywalizacji zarówno dla zagorzałych fanów, którzy będą walczyć o pierwsze miejsce w publicznej tabeli wyników, jak i z bardziej okazjonalnych graczy (których będą zainteresowani porównaniem postępów ze znajomymi).
Aby dowiedzieć się, jak wdrożyć tabele wyników na swojej platformie, przeczytaj artykuł Implementacje klientów.
Tabele wyników
Gdy utworzysz tabelę wyników, usługi gier Play zarządzają jej większością. Typowy proces wygląda tak:
- Po zakończeniu gry (lub w odpowiednim wybranym przez Ciebie momencie) gracz przesyła wynik do co najmniej jednej utworzonej dla niej tabeli wyników.
- Usługi gier Play sprawdzają, czy ten wynik jest lepszy niż obecny wynik gracza w tabeli wyników dla danego dnia, tygodnia lub całego okresu. Jeśli tak, usługi gier Play zaktualizują odpowiednie tabele wyników o nowy wynik.
- Usługi gier Play wysyłają raport o wynikach do klienta gry. Ten raport informuje klienta o tym, czy jest to nowy rekord (dziennie, co tydzień lub jak dotąd od początku). Jeśli nie, usługi gier Play podpowiedzą klientowi, jaki jest bieżący dzienny, tygodniowy lub rekordowy wynik tego gracza.
- Aby pobrać wyniki gracza w tabeli wyników, możesz poprosić o przedział czasu (dzienny, tygodniowy lub od początku) i określić, czy użytkownik chce zobaczyć tablicę wyników w mediach społecznościowych czy publicznych. Usługi gier Play przeprowadzają wszystkie niezbędne filtry, a następnie wysyłają wyniki z powrotem do klienta.
- W przypadku dużej liczby wyników do zgłoszenia usługi gier Play wysyłają tylko dane dotyczące najlepszych wyników w tabeli. Możesz też pobrać nieprzetworzone dane dotyczące najlepszych wyników lub wyników sąsiadujących z zawodnikiem.
Wiele tabel wyników
Gry mogą zawierać wiele tabel wyników – maksymalnie 70. Na przykład gra wielopoziomowa może oferować różne tabele wyników dla każdego poziomu, a gra wyścigowa może mieć osobną tabelę wyników dla każdego toru.
Przedziały czasu w tabeli wyników
Pakiet SDK Gier Play automatycznie tworzy codziennie, co tydzień i od zawsze wersje każdej utworzonej przez Ciebie tabeli wyników. Nie musisz tworzyć osobnych tabel wyników dla każdego przedziału czasowego.
Dzienne tabele wyników są resetowane przez cały rok o czasie UTC-7 (czyli północ czasu pacyficznego letniego).
Cotygodniowe tabele wyników są resetowane o północy, w sobotę i niedzielę, o tej samej strefie czasowej co dzienne tabele wyników (UTC-7).
Tablice wyników publicznych i społecznościowych
Pakiet SDK Gier Play może wyświetlać graczowi 2 różne wersje każdej tabeli wyników:
Tabela wyników społecznościowych to tablica wyników złożona z osób z kręgów użytkownika (czyli z kręgów, które użytkownik udostępnił Twojej aplikacji), które zdecydowały się udostępniać użytkownikowi swoją aktywność w grze.
Publiczna tabela wyników to złożona z graczy, którzy zdecydowali się udostępniać publicznie swoją aktywność w grach. Jeśli Twój gracz nie udostępnia publicznie swojej aktywności w grach, nie będzie on widoczny w tabeli wyników.
Wyświetlanie tabel wyników
W bibliotekach klienta mobilnego to biblioteki zajmują się formatowaniem i wyświetlaniem tabel wyników. Możesz określić, czy gracz może zobaczyć konkretną tablicę wyników, czy też listę wszystkich tabel, z których będzie mógł wybrać.
Możesz też wdrożyć własne wersje tabel wyników, uzyskując dostęp do danych bezpośrednio z bibliotek klienta.
Atrybuty
Aby tworzyć tabele wyników i nimi zarządzać, musisz znać te atrybuty:
Podstawy
Te podstawowe elementy są powiązane z każdą tabelą wyników:
- Identyfikator to unikalny ciąg znaków generowany przez Konsolę Google Play. Możesz użyć tego unikalnego identyfikatora, by odwoływać się do tabeli wyników w klientach gier.
- Nazwa to krótka nazwa tabeli wyników (np. „Wyniki” lub „Poziom 3”). Może zawierać do 100 znaków.
- Ikona to kwadratowa ikona, która będzie powiązana z Twoją tabelą wyników. Sprawdzone metody tworzenia ikon tabel wyników znajdziesz w sekcji Wskazówki dotyczące ikon poniżej.
- Kolejność na liście to kolejność, w jakiej tabela wyników będzie pojawiać się, gdy gracz wyświetla tabele wyników powiązane z Twoją grą.
- Limity to wartości opcjonalne, które określają dolne i górne granice wyników dozwolonych w tabeli wyników. Może to pomóc w odrzuceniu wyników,
które są w sposób oczywisty fałszywe. Możesz też użyć narzędzia
Players.hide
, aby ukryć graczy, którzy Twoim zdaniem przesłali fałszywe wyniki we wszystkich tabelach wyników w aplikacji.
Kolejność
Tabele wyników mogą mieć jeden z dwóch typów kolejności:
- Tablice wyników Większy znaczy lepszy to domyślny format. Tę zasadę można zobaczyć w większości gier, w których gracze zdobywają punkty.
- Czasami w sytuacjach, gdy niższy wynik jest lepszy, czasami używane są tabele wyników Mniejsze oznacza lepsze. Najczęstsze przykłady tego typu tablicy wyników dotyczą gier wyścigowych, w których wynik oznacza czas ukończenia wyścigu.
Format wyniku
Wszystkie wyniki są przesyłane do tabel wyników i przechowywane wewnętrznie jako długie liczby całkowite, ale Usługi gier Play mogą prezentować je użytkownikowi w wielu różnych formatach:
Tablice wyników liczbowe przedstawiają wyniki w postaci liczb. Można je wyświetlać jako liczby całkowite lub liczby rzeczywiste ze stałą liczbą miejsc po przecinku. Wynik przesyłasz w postaci liczb całkowitych, a w określonym miejscu umieszcza się przecinek dziesiętny. Na przykład wynik
314159
będzie wyświetlany jako3.14159
,3141.59
lub314159
, w zależności od podanego miejsca dziesiętnego.Tablice wyników czasu podają wyniki w godzinach / minutach / sekundach lub setkach drugiego formatu. Wyniki musisz przesyłać w milisekundach, więc pole
66032
będzie zinterpretowane jako1:06.03
.Tablice wyników Waluta pokazują wyniki w formacie waluty. Wyniki przesyłasz jako 1/1 000 000 głównej jednostki waluty. Na przykład wynik 19 950 000 zostanie zinterpretowany jako
$19.95
przy założeniu, że jako walutę wybierzesz USD.
Liczbowe tabele wyników obsługują również jednostki niestandardowe. Jeśli na przykład gra mierzy wysokie wyniki w metrach, możesz określić „metry” jako domyślną jednostkę tabeli wyników.
Tłumaczenia i formatowanie wyników
Gdy biblioteki klienta mobilnego żądają od Usług gier Play danych o tabeli wyników, określają język i region, w którym te wyniki mają być wyświetlane. Interfejs API REST umożliwia też określenie języka. Usługi gier Play zwracają sformatowane wyniki w tabeli wyników odpowiednie dla danego języka i regionu. Sformatowane wyniki pojawią się niezależnie od tego, czy do tabeli wyników zostaną dodane tłumaczenia.
W tabelach wyników liczbowych format liczb jest wyświetlany inaczej w zależności od języka. (np. 12,345.78
w Stanach Zjednoczonych i 12 345,78
we Francji). Jeśli korzystasz z jednostek niestandardowych i masz w grze tłumaczenia, musisz dostarczyć przetłumaczone jednostki dla każdego dodanego języka. Następnie w razie potrzeby usługa wyświetla przetłumaczone jednostki.
W zależności od wybranego języka może być konieczne podanie różnych wersji nazw jednostek. W języku angielskim należy podać wersję jednego produktu, a drugiego dla wszystkich pozostałych (np. „miernik” i „mierniki”). W języku polskim należałoby natomiast dostarczyć wersje dla jednej jednostki, kilku jednostek, wielu jednostek i dla całej reszty. Więcej informacji o zasadach dotyczących liczby mnogiej znajdziesz w artykule Quantity Strings(liczba mnoga).
W przypadku tabel wyników z tabelą Czas format godziny jest wyświetlany zgodnie z językiem i regionem gracza. Będzie to widoczne głównie w przypadku użycia ułamków sekundy lub wartości godziny zawierającej więcej niż 3 cyfry (np. 4,815:16:23.42
w USA i 4.815:16:23,42
w Niemczech).
W przypadku tabel wyników Waluta format waluty będzie wyświetlany zgodnie z językiem i regionem gracza. Nie możesz jednak zmienić
jednostki waluty. Jeśli na przykład podasz swoją walutę w USD, gra wyświetli $19.95
w Stanach Zjednoczonych i 19,95 $
we Francji. Nie możesz jednak określić,
że Twoje teleturnieje mają ceny w Stanach Zjednoczonych, a w euro we Francji.
Wytyczne dotyczące ikon
Ikony powinny być tworzone jako pliki PNG lub JPEG o wymiarach 512 x 512 pikseli. W większości klientów gier ikony będą pomniejszone, dlatego unikaj tworzenia ikon ze zbyt szczegółowymi informacjami. Ikony możesz przesyłać z kanału alfa, a przezroczystość zostanie zachowana. Na urządzeniach z Androidem ikona tabeli wyników będzie wyświetlana na ciemniejszym szarym tle, warto więc wybrać taką, która sprawdzi się w takiej sytuacji.
Ta sama ikona jest używana we wszystkich językach, dlatego odradzamy umieszczanie w niej tekstu lub zlokalizowanych treści.
Utwórz tabelę wyników
W tej sekcji dowiesz się, jak tworzyć tabele wyników w nowych i istniejących grach.
Tworzenie tabeli wyników w nowej grze
Aby utworzyć tabelę wyników dla nowej i nieopublikowanej gry, otwórz wpis swojej gry w Konsoli Google Play i wybierz Rozwój > Usługi Gier Play > Konfiguracja i zarządzanie > Tabele wyników, a następnie kliknij przycisk Utwórz tabelę wyników.
![Przycisk „Dodaj tabelę wyników” w głównym panelu Tabele wyników](https://developer.android.com/static/images/games/pgs/leaderboardAddNew.png?authuser=7&hl=pl)
Następnie podaj wymagane informacje.
![Wypełniony formularz tabeli wyników „Najlepsza runda”.](https://developer.android.com/static/images/games/pgs/leaderboardSampleForm.png?authuser=7&hl=pl)
Kliknij Zapisz jako wersję roboczą. Tabela wyników będzie dostępna w stanie „Wersja robocza”. Gdy opublikujesz grę, wszystkie jej tabele wyników są publikowane razem z nią.
Tworzenie tabeli wyników opublikowanej gry
Aby utworzyć dodatkową tabelę wyników dla gry, która została już opublikowana, wykonaj te same czynności co powyżej. Więcej informacji o testowaniu zaktualizowanej wersji gry znajdziesz w artykule Publikowanie zmian w grze.
Po przetestowaniu tabeli wyników i spełnieniu wymogów możesz ponownie opublikować grę z nowymi tabelami wyników, a zostaną one udostępnione całemu światu.
Edytowanie tabeli wyników
Aby edytować utworzoną wcześniej tabelę wyników, kliknij ją na karcie Tabele wyników w Konsoli Google Play. Zobaczysz formularz, który został użyty podczas tworzenia tabeli wyników, i możesz edytować dowolne z pól.
Po zakończeniu edytowania tabeli wyników kliknij przycisk Zapisz jako wersję roboczą. Nowo zmieniona tabela wyników będzie miała stan „Wersja robocza”, co umożliwi jej przetestowanie.
Jeśli gra działa poprawnie, wybierz Opublikuj zmiany w polu u góry formularza, aby ponownie opublikować swoją grę wraz ze wszystkimi zaktualizowanymi tabelami wyników.
Cofanie zmian
Jeśli stwierdzisz, że nowa tabela wyników Ci nie odpowiada i chcesz wrócić do poprzedniej, po prostu wybierz Przywróć w polu u góry formularza. Tablica wyników powraca do wersji, która została już opublikowana.
Usuwanie tabeli wyników
Możesz usuwać tabele wyników, które są w stanie „Wersja robocza” lub zostały opublikowane. Aby usunąć tabelę wyników w Konsoli Google Play, otwórz formularz i kliknij Usuń tabelę wyników u góry formularza.
Możesz też wywołać metodę Players.hide
, by ukryć tablicę wyników gracza w aplikacji.
Resetowanie tabeli wyników
Możesz zresetować tylko dane o postępach graczy w roboczych tabelach wyników.
- Aby zresetować tabele wyników w Konsoli Google Play, u góry formularza odpowiedniego wydarzenia kliknij Resetuj postęp.
- Aby automatycznie zresetować dane tabeli wyników, wywołaj metody
Scores
interfejsu Management API.
Dodawanie tłumaczeń tabel wyników
Możesz określić własne tłumaczenia tabel wyników powiązanych z Twoją grą. Zanim to zrobisz, wykonaj czynności opisane w sekcji Dodawanie tłumaczeń gry. Musisz też utworzyć co najmniej jedną tabelę wyników dla swojej gry.
Aby dodać własne tłumaczenia tabeli wyników, otwórz w Konsoli Google Play kartę Tabele wyników z informacjami o swojej grze i wybierz istniejącą tabelę wyników. Na stronie z informacjami o tabeli wyników kliknij kartę języka dodanego wcześniej na karcie Szczegóły gry. Na stronie z informacjami o tabeli wyników dla danego języka edytuj formularz z tłumaczeniami tej tabeli. Kliknij Zapisz, aby zapisać przetłumaczone szczegóły tabeli wyników.
Ukryj wyniki w tabeli wyników
Usługi gier Google Play udostępniają funkcję ochrony przed nieuprawnionymi modyfikacjami w tabeli wyników, która sprawdza, czy wyniki nie zostały zmodyfikowane, i automatycznie je ukrywa. Ta funkcja jest dostępna tylko w grach na Androida.
Ochrona przed nieuprawnionymi modyfikacjami jest domyślnie włączona w nowych tabelach wyników, które tworzysz dla gry na Androida, ale jest wyłączona w przypadku istniejących. Aby włączyć ochronę przed nieuprawnionymi modyfikacjami w przypadku opublikowanych już tabel wyników, wykonaj te czynności:
- W Konsoli Google Play otwórz kartę Usługi gier i wybierz grę z listy.
- Otwórz kartę Tabele wyników, a potem wybierz instancję, w której chcesz włączyć ochronę przed nieuprawnionymi modyfikacjami.
- Ustaw opcję Włącz ochronę przed nieuprawnionymi modyfikacjami w tabeli wyników.
- Kliknij Zapisz i kontynuuj.
- Opublikuj grę.
Ta funkcja zacznie działać po 24 godzinach od włączenia ochrony tabeli wyników w Konsoli Google Play przed nieuprawnionymi modyfikacjami. Wyniki przesłane przed włączeniem ochrony przed nieuprawnionymi modyfikacjami nie są ukryte wstecznie.
W niektórych sytuacjach warto wyłączyć ochronę przed nieuprawnionymi modyfikacjami (np. gdy gra działa nie tylko w internecie, ale też udostępnia tabele wyników na tych platformach).
Implementacje klienta
Aby dowiedzieć się, jak wdrożyć tabele wyników na swojej platformie, skorzystaj z tych materiałów: