W tym artykule opisujemy, jak używać osiągnięć w usługach Gier Play w grach na platformie Unity. Zakładamy, że masz już skonfigurowany projekt i wtyczkę Gry Google Play do silnika Unity, zgodnie z opisem w przewodniku dla początkujących.
Tworzenie osiągnięcia
Podczas konfigurowania projektu i wtyczki utwórz osiągnięcia w Konsoli Google Play, a następnie zaktualizuj wtyczkę o zasoby Androida dla swoich osiągnięć. Więcej informacji o tworzeniu osiągnięć w Konsoli Play znajdziesz w przewodniku po osiągnięciach.
Odkrywanie i odblokowywanie osiągnięcia
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 metody Social.ReportProgress, wartość 0.0f oznacza, że osiągnięcie zostało odkryte, a postęp 100.0f oznacza, że zostało odblokowane.
Aby odkryć osiągnięcie, które było wcześniej ukryte, bez jego odblokowywania, wywołaj metodę Social.ReportProgress z wartością 0.0f.
Zwiększanie osiągnięcia
Jeśli osiągnięcie jest przyrostowe, implementacja usług Gier Play metody Social.ReportProgress będzie próbować zachować się zgodnie z oczekiwanym działaniem interfejsu Social API w Unity. Zachowanie może się jednak różnić, dlatego nie zalecamy używania metody Social.ReportProgress w przypadku osiągnięć przyrostowych. Zamiast tego użyj metody PlayGamesPlatform.IncrementAchievement, która jest rozszerzeniem usług Gier 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 metodę Social.ShowAchievementsUI.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();