W tym artykule opisujemy, jak używać osiągnięć w usługach gier Play w grach na platformę Unity. Zakłada się, że projekt i wtyczka Gier Google Play do silnika Unity zostały skonfigurowane zgodnie z przewodnikiem dla początkujących.
Tworzenie osiągnięcia
Po skonfigurowaniu projektu i wtyczki utwórz osiągnięcia w Konsoli Google Play, a następnie zaktualizuj wtyczkę za pomocą zasobów Androida dla tych osiągnięć. Szczegółowe informacje o tworzeniu osiągnięć w Konsoli Play znajdziesz w przewodniku po osiągnięciach.
Odkrywanie i odblokowywanie osiągnięć
Aby odblokować osiągnięcie, użyj metody Social.ReportProgress z wartością postępu 100,0f:
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// unlock achievement (achievement ID "Cfjewijawiu_QA")
Social.ReportProgress("Cfjewijawiu_QA", 100.0f, (bool success) => {
// handle success or failure
});
Zgodnie z oczekiwanym działaniem funkcji Social.ReportProgress wartość 0,0f oznacza, że osiągnięcie zostało ujawnione, a wartość 100,0f oznacza, że zostało odblokowane.
Aby ujawnić osiągnięcie, które było wcześniej ukryte bez odblokowywania go, wywołaj funkcję Social.ReportProgress z wartością 0,0f.
Zwiększanie osiągnięcia
Jeśli osiągnięcie jest przyrostowe, implementacja Gier Play funkcji Social.ReportProgress będzie próbować zachowywać się zgodnie z oczekiwanym działaniem interfejsu Social API Unity. Zachowanie może nie być identyczne, dlatego nie zalecamy używania funkcji Social.ReportProgress w przypadku osiągnięć przyrostowych. Zamiast tego użyj metody PlayGamesPlatform.IncrementAchievement, która jest rozszerzeniem Usług Google Play.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// increment achievement (achievement ID "Cfjewijawiu_QA") by 5 steps
PlayGamesPlatform.Instance.IncrementAchievement(
"Cfjewijawiu_QA", 5, (bool success) => {
// handle success or failure
});
Wyświetlanie interfejsu osiągnięć
Aby wyświetlić wbudowany interfejs wszystkich osiągnięć, wywołaj funkcję Social.ShowAchievementsUI.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();