W związku z wycofaniem interfejsu Logowania przez Google w 2026 r. usuniemy pakiet SDK gier w wersji 1. Po lutym 2025 r. nie będzie można publikować w Google Play tytułów, które zostały dopiero zintegrowane z pakietem SDK gier w wersji 1. Zalecamy zamiast tego korzystać z pakietu SDK gier w wersji 2.
Chociaż istniejące tytuły z integracją poprzedniej wersji gry 1 będą działać przez kilka lat, zachęcamy do przejścia na wersję 2 od czerwca 2025 r.
Ten przewodnik dotyczy pakietu SDK usług gier Play w wersji 1. Informacje o najnowszej wersji pakietu SDK znajdziesz w dokumentacji wersji 2.
Z tego przewodnika dowiesz się, jak używać interfejsów API tabel wyników w aplikacji na Androida, aby tworzyć wizualne tabele wyników, rejestrować wyniki graczy i porównywać je z wynikami z poprzednich sesji gry. Interfejsy API znajdują się w pakietach com.google.android.gms.games
i com.google.android.gms.games.leaderboards
.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobisz, warto zapoznać się z koncepcjami dotyczącymi tabel liderów w grach.
Zanim zaczniesz kodować przy użyciu interfejsów API tablic wyników:
- Aby móc korzystać z usług gier Google Play, postępuj zgodnie z instrukcjami instalacji i konfigurowania aplikacji podanymi w przewodniku Konfigurowanie pakietu SDK Usług Google Play.
- Określ tabele wyników, które mają być wyświetlane lub aktualizowane przez grę, wykonując instrukcje podane w przewodniku po Konsoli Google Play.
- Pobierz i przejrzyj przykłady kodu tabeli liderów na stronie przykładów na Androida.
- Zapoznaj się z rekomendacjami opisanymi w kontrolnej liście jakości.
Pobieranie klienta tabel wyników
Aby zacząć korzystać z interfejsu API tabel wyników, gra musi najpierw uzyskać obiekt LeaderboardsClient
.
Aby to zrobić, wywołaj metodę Games.getLeadeboardsClient()
, przekazując w niej aktywność i GoogleSignInAccount
dla bieżącego odtwarzacza. Aby dowiedzieć się, jak pobrać informacje o koncie gracza, przeczytaj artykuł Logowanie się w Grach Play.
Zmień wynik gracza
Gdy wynik gracza ulegnie zmianie (np. gdy ukończy on grę), gra może zaktualizować jego wynik na tablicy wyników, wywołując funkcję LeaderboardsClient.submitScore()
i przekazując identyfikator tablicy wyników oraz wartość surowego wyniku.
Ten fragment kodu pokazuje, jak aplikacja może zaktualizować wynik gracza:
Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .submitScore(getString(R.string.leaderboard_id), 1337);
Dobrą praktyką jest zdefiniowanie identyfikatora tabeli wyników w pliku strings.xml
, aby gra mogła się do niej odwoływać za pomocą identyfikatora zasobu. Podczas wykonywania wywołań w celu aktualizowania i wczytywania wyników graczy pamiętaj też o tych sprawdzonych metodach, aby nie przekroczyć limitu interfejsu API.
Wyświetlanie tabeli wyników
Aby wyświetlić tabelę wyników, wywołaj funkcję LeaderboardsClient.getLeaderboardIntent()
, aby uzyskać wartość Intent
, która służy do utworzenia domyślnego interfejsu tabeli wyników. Gra może wyświetlić interfejs, wywołując funkcję startActivityForResult
.
Ten fragment kodu pokazuje, jak aplikacja może zaktualizować wynik gracza. W fragmencie kodu RC_LEADERBOARD_UI
jest dowolną liczbą całkowitą dla kodu żądania.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Zwróć uwagę, że mimo że nie zwracamy żadnego wyniku, musimy użyć parametru startActivityForResult
, aby interfejs API mógł uzyskać tożsamość pakietu wywołującego. Poniżej przedstawiamy przykład domyślnego interfejsu tabeli liderów.
![](https://developer.android.google.cn/static/images/games/pgs/leaderboard_android.png?hl=pl)