Osiągnięcia w grach na Unity

W tym artykule opisujemy, jak używać osiągnięć w usługach gier Play w grach w Unity. Zakładamy, że skonfigurowałeś/skonfigurowałaś projekt i wtyczkę Google Play Games do Unity zgodnie z instrukcjami w przewodniku po rozpoczęciu.

Tworzenie osiągnięcia

Podczas konfigurowania projektu i wtyczki utwórz osiągnięcia w Konsoli Google Play, a potem zaktualizuj wtyczkę za pomocą zasobów Androida dla tych osiągnięć. Szczegółowe informacje o tworzeniu osiągnięć w Konsoli Play znajdziesz w przewodniku dotyczącym osiągnięć.

Odblokowanie i ujawnienie 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 funkcji Social.ReportProgress wartość 0,0 oznacza, że osiągnięcie jest odkryte, a wartość 100,0 oznacza, że osiągnięcie jest odblokowane.

Aby ujawnić osiągnięcie, które było wcześniej ukryte bez odblokowania, wywołaj funkcję Social.ReportProgress z wartością 0.0f.

Zwiększenie osiągnięcia

Jeśli osiągnięcie jest stopniowe, implementacja Social.ReportProgress w Grach Google Play będzie się starać zachować oczekiwane działanie zgodnie z interfejsem API społecznościowym Unity. Zachowanie może się jednak różnić, dlatego nie zalecamy używania wywołania Social.ReportProgress do raportowania stopniowych osiągnięć. Zamiast tego użyj 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
    });

Wyświetlanie interfejsu osiągnięć

Aby wyświetlić wbudowane UI wszystkich osiągnięć, wywołaj funkcję Social.ShowAchievementsUI.

    using GooglePlayGames;
    using UnityEngine.SocialPlatforms;
    ...
    // show achievements UI
    Social.ShowAchievementsUI();