הישגים במשחקי 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.

משיגים הישג

אם ההישג הוא מצטבר, ההטמעה של Play Games של Social.ReportProgress תנסה לפעול בהתאם ההתנהגות הצפויה בהתאם ל-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();