בנושא הזה מוסבר איך להשתמש בהישגים של 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 להישגים מצטברים. במקום זאת, צריך להשתמש בשיטה 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();