Достижения в играх Unity

В этой теме описывается, как использовать достижения Play Games Services в играх Unity. Предполагается, что вы настроили свой проект и плагин Google Play Games для Unity, как обсуждалось в руководстве по началу работы .

Создать достижение

Когда вы настроите свой проект и плагин, создайте достижения в Google Play Console, а затем обновите плагин с помощью ресурсов 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();