במדריך הזה מוסבר איך להשתמש בממשקי ה-API של ההישגים באפליקציה ל-Android
כדי לפתוח ולהציג הישגים במשחק. ניתן למצוא את ממשקי ה-API.
בcom.google.android.gms.games
ו-com.google.android.gms.games.achievements
חבילות.
לפני שמתחילים
אם עדיין לא עשית זאת, מומלץ לעיין השגת מושגים במשחק.
לפני שמתחילים לתכנת באמצעות ה-API של ההישגים:
פועלים לפי ההוראות להתקנה ולהגדרה של האפליקציה לשימוש Google Play Games Services ב מדריך להגדרת Google Play Services SDK.
הגדרת ההישגים שרוצים שהמשחק ייפתח או יוצג בהם לפי יש לפעול לפי ההוראות המפורטות במדריך של Google Play Console.
אפשר להוריד ולבדוק את דוגמאות הקוד של ההישגים ב דף דוגמאות ל-Android
מומלץ להכיר את ההמלצות שמתוארות במאמר רשימת משימות איכות.
איתור לקוח של הישגים
כדי להתחיל להשתמש ב-API של ההישגים, המשחק צריך לקבל תחילה
AchievementsClient
לאובייקט. אפשר לעשות זאת באמצעות קריאה ל
Games.getAchievementClient()
ונעביר את הפעילות.
מקבלים גישה להישגים
כדי להשיג הישג, קוראים לפונקציה
AchievementsClient.unlock()
ומעביר את מזהה ההישג.
קטע הקוד הבא מראה איך האפליקציה יכולה להגיע להישגים:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
אם ההישג הוא מסוג מצטבר (כלומר, יש כמה שלבים
נדרש כדי לבטל את הנעילה), צריך להתקשר במקום זאת למספר AchievementsClient.increment()
.
קטע הקוד הבא מראה איך האפליקציה יכולה להגדיל את הישג:
PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);
לא צריך לכתוב קוד נוסף כדי לבטל את נעילת ההישג; שירותי המשחקים של Google Play מבטל את הנעילה של ההישג באופן אוטומטי כשהוא מגיע למספר הנדרש של לבצע מיליון שלבים.
שיטה מומלצת היא להגדיר את מזהי ההישגים בקובץ strings.xml
, כך
המשחק שלך יכול להפנות להישגים לפי מזהה המשאב. בביצוע שיחות אל
לעדכן ולטעון הישגים, הקפידו לפעול גם לפי
שיטות מומלצות למניעת חריגה מה-API
במכסה.
הצגת הישגים
כדי להציג את ההישגים של השחקן, צריך להתקשר למספר AchievementsClient.getAchievementsIntent()
כדי לקבל
Intent
כדי ליצור את ממשק המשתמש של ההישגים המוגדרים כברירת מחדל. לאחר מכן המשחק שלך יכול להופיע
את ממשק המשתמש באמצעות קריאה
startActivityForResult
קטע הקוד הבא מראה איך האפליקציה יכולה להציג את ברירת המחדל
בממשק המשתמש של ההישגים. בקטע הקוד, RC_ACHIEVEMENT_UI
היא שרירותית
מספר שלם שבו המשחק משתמש כקוד הבקשה.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
למטה מוצגת דוגמה לממשק המשתמש של ההישגים שמוגדר כברירת מחדל.
![](https://developer.android.google.cn/static/images/games/pgs/achievements_android.png?hl=he)