Z tego przewodnika dowiesz się, jak korzystać z interfejsów API osiągnięć w aplikacji na Androida
do odblokowywania i wyświetlania osiągnięć w grze. Interfejsy API można znaleźć
w com.google.android.gms.games
i com.google.android.gms.games.achievements
pakietów.
Zanim zaczniesz
W razie potrzeby zapoznaj się z pomysłów na osiągnięcia.
Zanim zaczniesz pisać kod za pomocą interfejsu Attribution API:
Postępuj zgodnie z instrukcjami instalowania i konfigurowania aplikacji. Usługi gier Google Play w Przewodnik konfigurowania pakietu SDK Usług Google Play.
Określ osiągnięcia, które gra może odblokowywać lub wyświetlać. postępuj zgodnie z instrukcjami podanymi w przewodniku po Konsoli Google Play.
Pobierz i przejrzyj przykłady kodu osiągnięć w Strona z przykładami na Androidzie.
Zapoznaj się z zaleceniami opisanymi w artykule Lista kontrolna jakości.
Uzyskiwanie klienta osiągnięć
Aby zacząć korzystać z interfejsu API osiągnięć, Twoja gra musi najpierw uzyskać
AchievementsClient
obiektu. Aby to zrobić, wywołaj metodę
Games.getAchievementClient()
i zaliczania zadania.
Odblokuj osiągnięcia
Aby odblokować osiągnięcie, wywołaj funkcję
AchievementsClient.unlock()
i przekazać identyfikator osiągnięcia.
Ten fragment kodu pokazuje, jak aplikacja może odblokowywać osiągnięcia:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
Jeśli osiągnięcie jest typu przyrostowego (czyli składa się z kilku kroków)
wymagane do jego odblokowania), zadzwoń pod numer AchievementsClient.increment()
.
Ten fragment kodu pokazuje, jak aplikacja może zwiększyć osiągnięcie:
PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);
Aby odblokować osiągnięcie, nie musisz pisać dodatkowego kodu. Usługi gier Google Play automatycznie odblokowuje osiągnięcie, gdy osiągnie wymaganą liczbę kroków.
Warto zdefiniować identyfikatory osiągnięć w pliku strings.xml
,
gra może odwoływać się do osiągnięć według identyfikatora zasobu. Gdy dzwonisz do
zaktualizować i wczytać osiągnięcia, pamiętaj też o tych
sprawdzone metody, które pomogą uniknąć przekroczenia limitu czasu wartości interfejsu API.
limit miejsca na dane.
Wyświetl osiągnięcia
Aby wyświetlić osiągnięcia gracza, wywołaj AchievementsClient.getAchievementsIntent()
aby uzyskać
Intent
aby utworzyć domyślny interfejs osiągnięć. Gra może wtedy wyświetlić
za pomocą wywołania funkcji
startActivityForResult
Ten fragment kodu pokazuje, jak w aplikacji można wyświetlać domyślną wartość
interfejsu Osiągnięcie. We fragmencie kodu RC_ACHIEVEMENT_UI
jest dowolnym elementem
Liczba całkowita, której gra używa jako kodu żądania.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Przykład domyślnego interfejsu osiągnięć znajdziesz poniżej.