В этом разделе описывается, как использовать достижения Play Games Services в играх Unity. Предполагается, что вы настроили свой проект и плагин Google Play Games для Unity, как описано в руководстве по началу работы .
Создать достижение
Настроив проект и плагин, создайте достижения в консоли Google Play, а затем обновите плагин, используя ресурсы Android для ваших достижений. Подробную информацию о создании достижений в Play Console можно найти в руководстве по достижениям .
Откройте и разблокируйте достижение
Чтобы разблокировать достижение, используйте метод Social.ReportProgress со значением прогресса 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
});
В соответствии с ожидаемым поведением Social.ReportProgress значение 0.0f означает, что достижение раскрыто, а прогресс 100.0f означает, что достижение разблокировано.
Чтобы показать достижение, которое ранее было скрыто без его разблокировки, вызовите Social.ReportProgress со значением 0.0f.
Увеличение достижения
Если достижение является инкрементальным, реализация Social.ReportProgress в Play Games попытается придерживаться ожидаемого поведения в соответствии с социальным API Unity. Однако поведение может отличаться, поэтому мы рекомендуем не использовать Social.ReportProgress для дополнительных достижений. Вместо этого используйте метод PlayGamesPlatform.IncrementAchievement , который является расширением Play Games.
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
});
Показать интерфейс достижений
Чтобы отобразить встроенный пользовательский интерфейс для всех достижений, вызовите Social.ShowAchievementsUI .
using GooglePlayGames;
using UnityEngine.SocialPlatforms;
...
// show achievements UI
Social.ShowAchievementsUI();