הישגים במשחקי 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 תנסה לפעול בהתאם להתנהגות הצפויה בהתאם ל-Social API של Unity. עם זאת, יכול להיות שההתנהגות תהיה שונה, לכן מומלץ לא להשתמש ב-Social.ReportProgress לדיווח על הישגים מצטברים. במקום זאת, צריך להשתמש ב-method‏ 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();