לוחות לידרבורד

לידרבורדים יכולים להיות דרך מהנה לעודד תחרות בין השחקנים, גם בקרב המעריצים הכי נלהבים (שיילחמו על המקום הראשון בלוח לידרבורד ציבורי) וגם בקרב השחקנים הפחות נלהבים (שייהנו להשוות את ההתקדמות שלהם לזו של החברים שלהם).

במאמר הטמעות בצד הלקוח מוסבר איך מטמיעים לידרבורד בפלטפורמה.

הסבר על לוחות לידרבורד

כשאתם יוצרים לידרבורד, שירותי המשחקים של Play יטפלו ברוב ההיבטים של ניהול הלידבורד בשבילכם. התהליך הרגיל פועל כך:

  1. בסוף המשחק (או ברגע מתאים שנקבע מראש), המערכת שולחת את הניקוד של השחקן ללידרבורד אחד או יותר שיצרתם למשחק.
  2. מערכת Play Games Services בודקת אם הציון הזה גבוה מהציון הנוכחי של השחקן בלוח הדירוג, לפי הציון היומי, השבועי או הכולל. אם כן, מערכת Play Games Services מעדכנת את לוחות הלידארבורד המתאימים עם הציון החדש.
  3. שירותי Play Games שולחים דוח ציונים בחזרה ללקוח המשחק. הדוח הזה מאפשר ללקוח לדעת אם מדובר בשיא יומי, שיא שבועי או שיא כל הזמנים. אם לא, מערכת Play Games Services תודיע ללקוח מהו הציון הגבוה ביותר של השחקן הזה, נכון לאותו יום, לשבוע או מאז תחילת המשחק.
  4. כדי לאחזר את התוצאות של שחקן בלוח מנהיגים, אפשר לבקש מסגרת זמן (יומית, שבועית או כל הזמנים) ולציין אם המשתמש רוצה לראות לוח מנהיגים חברתי או ציבורי. שירותי Play Games מבצעים את כל הסינון הנדרש, ולאחר מכן שולחים את התוצאות בחזרה ללקוח.
  5. במקרים שבהם יש הרבה ציונים שצריך לדווח עליהם, מערכת Play Games Services שולחת בחזרה רק את הנתונים של הציונים המובילים בלוח 'המוביל'. אפשר גם לאחזר נתוני ניקוד גולמיים של הציונים המובילים או של הציונים הסמוכים לציונים של השחקן.

כמה לוחות לידרבורד

במשחקים יכולים להיות כמה לוחות לידרבורד, עד 70 לוחות לידרבורד לכל היותר. לדוגמה, במשחק עם כמה רמות יכולה להיות לידרבורד שונה לכל רמה, ובמשחק מירוצים יכולה להיות לידרבורד נפרד לכל מסלול.

מסגרות הזמן בלידרבורד

ה-SDK של Play Games יוצר באופן אוטומטי גרסאות יומיות, שבועיות וגרסאות של כל הזמנים לכל לידרבורד שאתם יוצרים. אין צורך ליצור לוחות לידרבורד נפרדים לכל מסגרת זמן.

לידרבורדים יומיים מתאפסים לפי שעון החוף המערבי בארה"ב (UTC-7) (כלומר, חצות לפי שעון החוף המערבי בארה"ב) במהלך כל השנה.

לידרבורדים השבועיים מתאפסים בחצות בין שבת לראשון, באותה שעון זמן שבו מתאפסים לידרבורדים היומיים (UTC-7).

לוחות לידרבורד ציבוריים ורשתות חברתיות

ה-SDK של Play Games יכול להציג לשחקן שתי גרסאות שונות של כל לוח מנהיגות:

לידרבורד החברתי הוא לידרבורד שמורכב מאנשים מהחברים של המשתמש (או, ליתר דיוק, מחברים של המשתמש שבחר לשתף עם האפליקציה שלכם) שהחליטו לשתף את פעילות המשחק שלהם עם המשתמש.

לידרבורד הציבורי מורכב משחקנים שבחרו לשתף את פעילות המשחק שלהם באופן ציבורי. אם השחקן לא בחר לשתף את פעילות המשחק שלו באופן ציבורי, הוא לא יופיע בלוח הבקרה הזה.

הצגת לוחות לידרבורד

בספריות הלקוח לנייד, הספריות מטפלות בכל הפורמטים והתצוגות של לוחות הדירוג. אתם יכולים לציין אם שחקן יוכל לראות לידרבורד ספציפי, או לראות רשימה של כל הלידרבורדים שלכם ולבחור מתוכם.

אתם יכולים גם להטמיע גרסאות משלכם של לוחות הדירוג על ידי גישה לנתונים ישירות מספריות הלקוח.

מאפיינים

כדי ליצור ולנהל לוחות לידרבורד, כדאי להכיר את המאפיינים הבאים של לוחות לידרבורד:

העקרונות הבסיסיים

הרכיבים הבסיסיים האלה משויכים לכל לוח מנהיגות:

  • ID היא מחרוזת ייחודית שתיווצר בשבילכם על ידי Google Play Console. המזהה הייחודי הזה ישמש אתכם לצורך התייחסות ללידרבורד בלקוחות המשחק.
  • Name הוא שם קצר של לוח הבקרה (לדוגמה, 'High Scores' או 'Level 3'). השם יכול להכיל עד 100 תווים.
  • סמל הוא סמל מרובע שיהיה משויך ללוח הדירוג. הנחיות ליצירת סמלים
  • סדר הרשימה הוא הסדר שבו לידרבורד יופיע כששחקן יביט בלוחות הלידרבורד שמשויכים למשחק שלכם.
  • Limits הם ערכים אופציונליים שמגדירים את המגבלות התחתונות והעליונות של הנקודות שמותר להציג בלידרבורד. כך תוכלו לפסול דיווחים על ציונים שמקורם בתרמית מובהקת. אפשר גם להשתמש ב-Players.hide כדי להסתיר מכל טבלאות הדירוג באפליקציה שחקנים שלדעתכם שלחו ציונים שמקורם בתרמית.

סידור לוחות לידרבורד

יש שני סוגים של סדר בראשי תיבות:

  • ברירת המחדל היא לידרבורדים גדולים יותר הם טובים יותר. בדרך כלל זה מה שרואים ברוב המשחקים שבהם השחקנים מרוויחים נקודות.
  • לפעמים משתמשים בראשי תיבות של Smaller is better (ככל שהם קטנים יותר, כך הם טובים יותר) במקרים שבהם עדיף לקבל ציון נמוך יותר. הדוגמאות הנפוצות ביותר לסוג כזה של לוח מנהיגות הן במשחקי מירוץ, שבהם הציון מייצג את הזמן של השחקן לסיום המירוץ.

פורמט ניקוד

כל התוצאות נשלחות ללוחות הישגי השחקנים ונשמרות באופן פנימי כמספרים שלמים ארוכים, אבל שירותי המשחקים של Play יכולים להציג אותן למשתמש במספר פורמטים שונים:

  • בלוחות מספרי ניקוד, התוצאות מוצגות כמספרים. אפשר להציג אותם כמספרים שלמים או כמספרים ממשיים עם מספר קבוע של ספרות אחרי הנקודה העשרונית. שולחים את הציון כמספר שלם, והנקודה העשרונית תתווסף למיקום שצוין. לדוגמה, ציון של 314159 יוצג בתור 3.14159, 3141.59 או 314159, בהתאם למספר הספרות אחרי הנקודה העשרונית שציינתם.

  • ברשימת הזמן, הציונים מוצגים בפורמט של שעות, דקות, שניות או 100 אלפיות השנייה. חובה לשלוח ציונים כמילישניות, כך ש-66032 יפורש כ-1:06.03.

  • בלידרבורדים של מטבע, הציונים מוצגים בפורמט של מטבע. שולחים את הציונים כחלקי מיליארד של יחידת המטבע הראשית. לדוגמה, ציון של 19,950,000 יפורש כ-$19.95, בהנחה שציינתם את המטבע בתור USD.

לידרבורדים מספריים תומכים גם ביחידות בהתאמה אישית. לדוגמה, אם במשחק שלכם התוצאות הגבוהות נמדדות במטרים, תוכלו לציין 'מטרים' כיחידת ברירת המחדל של טבלת המובילים.

תרגומים ועיצוב של ציונים

כשספריות הלקוח לנייד מבקשות נתונים של לוח מנהיגים מ-Play Games Services, הן מציינות שפה ולוקאל שבהם יוצגו הציונים האלה. ב-API ל-REST אפשר גם לציין שפה לפי אזור גיאוגרפי. שירותי Play Games מחזירים ציונים בפורמט של לוח מנהיגים שמתאים לשפה ולמיקום. הציונים האלה בפורמט יופיעו גם אם לא הוספתם תרגומים למצעד.

ברשימות Numeric, פורמט המספרים מוצג באופן שונה בכל שפה. (לדוגמה, 12,345.78 בארה"ב ו-12 345,78 בצרפת). אם אתם משתמשים ביחידות בהתאמה אישית והוספתם תרגומים למשחק, עליכם לספק יחידות עם תרגום לכל שפה שהוספתם. לאחר מכן, השירות מציג את היחידות המתורגמות האלה במקרים הרלוונטיים.

בהתאם לשפה שבוחרים, יכול להיות שתצטרכו לספק גרסאות שונות של שמות היחידות. באנגלית, תצטרכו גרסה לפריט אחד וגרסה לכל שאר הפריטים (לדוגמה, 'מטר' ו'מטרים'). לעומת זאת, בפולנית תצטרכו לספק גרסה ליחידת מודעה אחת, לכמה יחידות, להרבה יחידות ולכל שאר המקרים. מידע נוסף על כללי רבים זמין במאמר מחרוזות כמות(רבים).

ברשימות Time, פורמט השעה מוצג בהתאם לשפה ולאזור של השחקן. ההבדל יהיה ניכר בעיקר אם משתמשים בחלקי שנייה או אם הערך של השעות מכיל יותר מ-3 ספרות (לדוגמה, 4,815:16:23.42 בארה"ב ו-4.815:16:23,42 בגרמניה).

ברשימות Currency, פורמט המטבע יוצג בהתאם לשפה ולאזור של השחקן. עם זאת, אי אפשר לשנות את יחידת המטבע. לדוגמה, אם מציינים את המטבע בדולר ארה"ב, המשחק יציג את הערך $19.95 בארה"ב ואת הערך 19,95 $ בצרפת. אבל אי אפשר לציין שהמשחק יציג דולרים בארה"ב ואירו בצרפת.

הנחיות לשימוש בסמלים

הסמלים צריכים להיות בפורמט PNG או JPEG בגודל 512x512. ברוב לקוחות המשחקים, הסמלים יצומצמו, לכן כדאי להימנע מיצירת סמלים עם יותר מדי פרטים קטנים. אפשר לשלוח סמלים עם ערוץ אלפא, והשקיפות תישמר. הסמל של לידרבורד יוצג על רקע אפור כהה יותר במכשירי Android, לכן כדאי לבחור סמל שיכול להתאים למצב הזה.

באותו סמל נעשה שימוש בכל האזורים הגיאוגרפיים, לכן מומלץ לא לכלול בטקסט או בתוכן המותאם לאזור כלשהו.

יצירת לידרבורד

בקטע הזה נסביר איך יוצרים לוחות לידרבורד למשחקים חדשים או קיימים.

יצירת לידרבורד למשחק חדש

כדי ליצור לוח מנהיגים למשחק חדש שעדיין לא פורסם, עוברים לדף המשחק ב-Google Play Console, עוברים אל פיתוח > שירותי Play Games > הגדרה וניהול > לוחות מנהיגים ולוחצים על הלחצן יצירת לוח מנהיגים.

הלחצן 'הוספת לידרבורד' בחלונית הראשית של לידרבורדים
הלחצן 'הוספת לידרבורד' בחלונית הראשית של לוחות הלידרבורד

לאחר מכן, פשוט ממלאים את הפרטים הנדרשים בלידרבורד הזה.

טופס מלא של לוח 'הסיבוב הטוב ביותר'.
טופס מלא של לוח 'הסיבוב הטוב ביותר'.

לוחצים על שמירה כטיוטה ורשימת המובילים תהיה זמינה במצב 'טיוטה'. אחרי שתפרסמו את המשחק, כל לוחות הלידרבורד של המשחק יפורסמו יחד איתו.

יצירת לידרבורד למשחק שפורסם

כדי ליצור לוח נוסף למשחק שכבר פורסם, פועלים לפי אותם השלבים שמפורטים למעלה. מידע נוסף על בדיקת גרסה מעודכנת של משחק זמין במאמר פרסום השינויים במשחק.

אחרי שבודקים את לוח הלידארבורד ומרוצים ממנו, אפשר לפרסם מחדש את המשחק עם לוחות הלידארבורד החדשים, והם יפורסמו לכולם.

עריכת לידרבורד

כדי לערוך לידרבורד שכבר יצרתם, לוחצים עליו בכרטיסייה לידרבורדים במסוף Google Play. בשלב הזה יוצג לכם אותו טופס שבו השתמשתם כשיצרתם את לוח הבקרה בפעם הראשונה, ותוכלו לערוך את כל השדות לפי הצורך.

כשמסיימים לערוך לידרבורד, לוחצים על הלחצן שמירה כטיוטה. רשימת המובילים שערכתם תהיה במצב 'טיוטה', כך שתוכלו לבדוק אותה.

אם הכל עובד כמו שצריך, בוחרים באפשרות פרסום השינויים בתיבה שבחלק העליון של הטופס של לוח הדירוגים, ותוכלו לפרסם מחדש את המשחק, יחד עם כל לוחות הדירוג המעודכנים, לציבור.

ביטול עריכה

אם החלטתם שלא אהבתם את לוח הבקרה שערכתם וברצונכם לחזור לגרסה הקודמת, פשוט בוחרים באפשרות החזרה לגרסה הקודמת בתיבה שבחלק העליון של הטופס של לוח הבקרה. לוח הדירוג יחזור לגרסה שכבר פורסמה.

מחיקת לידרבורד

אפשר למחוק לידרבורדים שנמצאים בסטטוס 'טיוטה' או פורסמו. כדי למחוק לידרבורד ב-Google Play Console, עוברים לטופס של הלידרבורד ולוחצים על Delete leaderboard (מחיקת לידרבורד) בחלק העליון של הטופס.

לחלופין, אפשר להפעיל את הפונקציה Players.hide כדי להסתיר את לוח הדירוג של שחקן באפליקציה.

איפוס לידרבורד

אפשר לאפס רק את נתוני ההתקדמות של השחקנים בלידרבורדים במצב טיוטה.

  • כדי לאפס את לוחות הדירוג ב-Google Play Console, לוחצים על Reset progress (איפוס ההתקדמות) בחלק העליון של הטופס של האירוע.
  • כדי לאפס את נתוני לוח הבקרה באופן פרוגרמטי, צריך להפעיל את ה-methods‏Scores של Management API.

הוספת תרגומים ללוחות לידרבורד

אתם יכולים לציין תרגומים משלכם ללוחות הלידרבורד שמשויכים למשחק שלכם. לפני כן, חשוב לבצע את השלבים שמפורטים במאמר הוספת תרגומים למשחק. בנוסף, עליכם ליצור לפחות לידרבורד אחד למשחק.

כדי להוסיף תרגומים משלכם למצעדים, פותחים את הכרטיסייה Leaderboards (מצעדי צמרת) של המשחק ב-Google Play Console ובוחרים מצעד צמרת קיים. בדף הפרטים של לוח הדירוג, לוחצים על הכרטיסייה של השפה שנוספה קודם בכרטיסייה פרטי המשחק. בדף הפרטים של לוח הבקרה בשפה הרלוונטית, עורכים את הטופס עם התרגומים שלכם ללוח הבקרה הזה. לוחצים על שמירה כדי לשמור את פרטי לוח הבקרה המתורגמים.

הסתרת התוצאות בלידרבורד

שירות המשחקים של Google Play Services כולל תכונה להגנה מפני זיוף של לידרבורד, שמאתרת ניקוד שנראה שעבר זיוף ומסתירה אותו באופן אוטומטי. התכונה הזו זמינה רק למשחקים ל-Android.

ההגנה מפני זיוף מופעלת כברירת מחדל בלידרבורדים חדשים שיוצרים למשחק ל-Android, אבל היא מושבתת בלידרבורדים קיימים. כדי להפעיל הגנה מפני פגיעה ברשימת המנהיגים הקיימת שכבר פרסמתם:

  1. ב-Google Play Console, פותחים את הכרטיסייה Games services ובוחרים את המשחק מהרשימה.
  2. פותחים את הכרטיסייה Leaderboards ובוחרים את מופע הלוח המוביל שרוצים להפעיל בו הגנה מפני פגיעה.
  3. מפעילים את האפשרות הפעלת הגנה מפני זיוף של לידרבורד.
  4. לוחצים על שמירה וממשיכים.
  5. מפרסמים את המשחק.

אחרי שמפעילים את ההגנה מפני פגיעה בלוח מנהיגים ב-Google Play Console, יכול להיות שיחלפו עד 24 שעות עד שהתכונה הזו תיכנס לתוקף. ציונים שנשלחו לפני הפעלת ההגנה מפני פגיעה לא מוסתרים באופן רטרואקטיבי.

במקרים מסוימים, כדאי להשבית את ההגנה מפני פגיעה (למשל, אם המשחק פועל גם באינטרנט בנוסף ל-Android, ויש שיתוף של לוחות מנהיגות בין הפלטפורמות האלה).

הטמעות של לקוחות

כדי ללמוד איך מטמיעים לידרבורדים בפלטפורמה, אפשר להיעזר במקורות המידע הבאים: