Erfolge in Unity-Spielen

In diesem Thema wird beschrieben, wie Sie Play-Spieldienste-Erfolge in Unity-Spielen nutzen können. Dabei wird davon ausgegangen, dass Sie Ihr Projekt und das Google Play Spiele-Plug-in für Unity wie im Startleitfaden beschrieben eingerichtet haben.

Erfolg erstellen

Wenn du dein Projekt und das Plug-in einrichtest, erstelle die Erfolge in der Google Play Console und aktualisiere das Plug-in mit den Android-Ressourcen für deine Erfolge. Weitere Informationen zum Erstellen von Erfolgen in der Play Console finden Sie im Leitfaden zu Erfolgen.

Erfolge anzeigen und freischalten

Verwenden Sie zum Freischalten eines Erfolgs die Methode Social.ReportProgress mit einem Fortschrittswert von 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
    });

Gemäß dem erwarteten Verhalten von Social.ReportProgress bedeutet ein Wert von 0,0f, dass der Erfolg offengelegt wird, und ein Fortschritt von 100,0f, dass der Erfolg freigeschaltet wurde.

Um einen bisher ausgeblendeten Erfolg anzuzeigen, ohne ihn zu entsperren, rufen Sie Social.ReportProgress mit dem Wert „0.0f“ auf.

Erfolg erhöhen

Bei einem inkrementellen Erfolg versucht die Play Spiele-Implementierung von Social.ReportProgress, das erwartete Verhalten gemäß der Social API von Unity einzuhalten. Das Verhalten ist jedoch möglicherweise nicht identisch. Daher raten wir Ihnen davon ab, Social.ReportProgress für inkrementelle Erfolge zu verwenden. Verwenden Sie stattdessen die Methode PlayGamesPlatform.IncrementAchievement, eine Play Spiele-Erweiterung.

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

Benutzeroberfläche für Erfolge anzeigen

Um die integrierte Benutzeroberfläche für alle Erfolge anzuzeigen, rufen Sie Social.ShowAchievementsUI auf.

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