Osiągnięcia w grach na Unity

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();