W tym artykule opisujemy, jak korzystać z osiągnięć w usługach gier Play w grach na Unity. Zakładamy, że masz skonfigurowany projekt i wtyczkę Gier Google Play do Unity zgodnie z opisem w przewodniku dla początkujących.
Tworzenie osiągnięcia
Po skonfigurowaniu projektu i wtyczki utwórz osiągnięcia w Konsoli Google Play, a potem zaktualizuj wtyczkę o zasoby na Androida związane z Twoimi osiągnięciami. Szczegółowe informacje o tworzeniu osiągnięć w Konsoli Play znajdziesz w przewodniku po osiągnięciach.
Odkryj i zdobądź osiągnięcie
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 zachowaniem Social.ReportProgress wartość 0,0f oznacza, że osiągnięcie zostało odkryte, a postęp 100,0f – że udało się je odblokować.
Aby pokazać osiągnięcie, które było wcześniej ukryte bez odblokowywania go, wywołaj Social.ReportProgress z wartością 0.0f.
Wyższy poziom osiągnięcia
Jeśli osiągnięcie jest przyrostowe, w Grach Play implementacja social.ReportProgress jest zgodna z oczekiwanym zachowaniem zgodnie z interfejsem społecznościowym Unity API. Działanie to może jednak nie być identyczne, więc nie zalecamy korzystania z metody social.ReportProgress do osiągnięć dodatkowych. Zamiast tego używaj metody PlayGamesPlatform.IncrementAchievement, która jest rozszerzeniem 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
});
Pokaż interfejs osiągnięć
Aby wyświetlić wbudowany interfejs dla wszystkich osiągnięć, wywołaj social.ShowAchievementsUI.
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();