רשימת משימות לשיפור האיכות ל-Google Play Games Services

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

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

1. כניסה

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

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

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

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

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

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

// This is the proper way to do it
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 חובה מאפשרים לשחקנים להישאר מחוברים לחשבון.

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

1.4 חובה הצגה של החלון הקופץ 'מתחבר' כמו שצריך במהלך הכניסה.

במכשירי Android, צריך להציג את החלון הקופץ 'מתחבר' של Google Play Games בכל פעם שמופעל תהליך הכניסה. לשם כך צריך לקרוא ל-method‏ setViewForPopups() של הכיתה GamesClient. מוודאים שהחלון הקופץ הזה מוצג כשהשחקן נכנס לחשבון באופן אוטומטי בתחילת המשחק. כך השחקנים יידעו שהם נכנסים למשחק בצורה נכונה.

בדוגמה הבאה אפשר לראות איך החלון הקופץ 'מתחבר' עשוי להופיע במשחק ל-Android במהלך הכניסה, ואחריו אנימציה קצרה של הלוגו של Google Play Games Services.

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

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

מומלץ להציג לחצן יציאה מהחשבון במסך משחק רלוונטי באפליקציה (לדוגמה, במסך ההגדרות של השחקן).

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

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

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

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

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

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

אחרת, יש להפנות את השחקנים לתהליך הכניסה לחשבון כמה שיותר מוקדם, מאחד מהמקורות הבאים (המומלץ ביותר מופיע קודם):

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

כדי לספק לשחקנים חוויה מקיפה, אטרקטיבית ועקבית, מומלץ להטמיע את ההנחיות למיתוג של Google Play Games Services.

1.9 מומלץ להזכיר לשחקנים שהם מחוברים לחשבון.

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

1.10 חובה גיבוי ההתקדמות של השחקנים באמצעות מזהה Play Games Services.

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

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

2. הישגים

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

מזהה חשיבות תיאור
2.1 חובה מוודאים שאפשר להשיג את כל ההישגים.

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

2.2 שיטה מומלצת הישגים ייחודיים

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

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

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

2.4 השיטה המומלצת עיצוב הישגים במגוון רמות קושי

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

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

קשה לזכות בהישג שמחייב צבירת 5,000 יהלומים
2.5 כדאי אל תציגו את ההישגים בתחילת הסרטון.

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

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

2.6 מומלץ הגדרת הישגים לגבי פעילויות מרתקות במשחק.

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

2.7 מומלץ שימוש בסמלי הישגים צבעוניים

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

2.8 מומלץ צמצום השימוש בהישגים מוסתרים

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

2.9 מומלץ אל תשתמשו בהישגים מקריים מדי.

'מציאת 100 תיבות אוצר' היא הישג טוב יותר מ'מציאת פריט שיש לו סיכוי של 1% להופיע בתיבת אוצר'.

2.10 מומלץ אפשר לחשוב כמו 'צייד הישגים'.

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

2.11 כדאי לוודא שסמל ההישג מוצג בצורה תקינה.

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

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

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

מזהה חשיבות תיאור
3.1 שיטה מומלצת הצגת לוחות מנהיגות בתפריט הראשי ואחרי מעברים חשובים

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

3.2 שיטה מומלצת הגדרת מגבלות עליון על ציונים שאפשר לשלוח

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

3.3 השיטה המומלצת שימוש בסמלים מותאמים אישית

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

3.4 שיטה מומלצת חשוב לשמור על תדירות מתאימה של שליחת ציונים.

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

3.5 כדאי שימוש בתגי דירוג

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

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

3.6 מומלץ עיצוב יצירתי של ממשק המשתמש של הלידבורד

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

3.7 מומלץ מראים לשחקנים איך הם מתחרים מול המתחרים.

‏Leaderboards API תומך בהצגת חלונות של ציונים (לדוגמה, דירוג של שחקן בטווח של 10 מקומות +/-). אם אתם יוצרים תצוגה בהתאמה אישית, זו יכולה להיות דרך יעילה לעודד התעניינות. אפשר להציג את המודעות האלה מיד אחרי מעבר קריטי במשחק (למשל, בסוף רמה או כשדמות של שחקן במשחק מתה). מומלץ להימנע מלחבר את השחקנים למידע על הדירוג שלהם באמצעות קליקים מיותרים.

4. חברים

המשימות ברשימת המשימות הבאה רלוונטיות להטמעת ממשקי ה-API של החברים במשחק.

מזהה חשיבות תיאור
4.1 חובה כשהשחקנים מוצגים ברשימה, הסמל של Play Games יוצג לצד המשתמשים שיש להם פרופיל ב-Play Games.

הרשימה הזו יכולה להיות רשימת חברים קיימת, רשימת חברים ששיחקתם איתם לאחרונה או רשימת חברים אחרת.

4.1.1. צריך להיות אפשרי ללחוץ על סמל Play Games.
אם המשתמש לוחץ על הסמל, המשחק צריך להפעיל getCompareProfileIntent() או getCompareProfileIntentWithAlternativeNameHints() כדי להראות את ממשק המשתמש שבו המשתמשים יכולים להשוות את עצמו לפרופיל של שחקן אחר.
4.1.2. תמיכה בפרופילים של שחקנים ובהזמנות של חברים, להתאמה אישית של שמות השחקנים במשחקים.
אם שחקן מגדיר שם אחר במשחק (ולא משתמש בשם הפרופיל שלו ב-Play Games), צריך להשתמש ב- getCompareProfileIntentWithAlternativeNameHints() כדי לספק את השם החלופי במשחק גם לשחקן הנוכחי וגם לשחקן שמוצג, כרקע לתצוגת הפרופיל ולכל הזמנה להוספת חבר שנשלחת ממנו. מעבירים רק שמות שחקנים גלובליים ועקביים של הערכים, ולא תוכן משתמש שרירותי. המשמעות של הדרישה הזו היא שהזמנות להצטרפות לקבוצה שנשלחות מתוך המשחק יספק הקשר לשני השחקנים:
  • הנמען יראה את השם של השולח במשחק, יחד עם שם המשחק.
  • כששולחים בקשה להוספת חברים, השם של הנמען במשחק והמשחק שבו הבקשה נשלחה עדיין יופיעו אצל השולח.
‫4.2 שיטה מומלצת אתם יכולים להשתמש בסמלים שונים כדי להציג אילו משתמשי Play Games כבר חברים שלכם, ואילו עדיין לא חברים ב-Play Games אבל נכנסו לחשבון באמצעות Play Games. משתמשים בשני סמלים למשתמשי Play Games, אחד לסמל 'חברים' ואחד לסמל 'לא חברים' (או כשסטטוס החברות לא ידוע).
סמל החברים
סמל 'לא חברים'
4.3 שיטה מומלצת כדי לוודא שרשימת החברים מעודכנת, צריך להקיש על loadFriends() בכל פעם שנכנסים לחשבון ומציגים את רשימת החברים. מוודאים שהשחקנים רואים את הרשימה המעודכנת.
4.4 השיטה המומלצת אם המשחק שלכם כבר מכיל חברים במשחק, תוכלו להשתמש ב-Friends API כדי להרחיב את רשימת החברים על ידי הוספת החברים מ-Play Games. אם שחקן נמצא ברשימת החברים במשחק והוא גם חבר ב-Play Games, צריך להציג את הסמל 'חברים'.
4.5 שיטה מומלצת אם שחקן דחה את הבקשה לגשת לרשימת החברים שלו, אל תציגו שוב את תיבת הדו-שיח עם הבקשה לגישה, אלא אם המשתמש ביצע פעולה שמציינת שהוא רוצה לתת גישה (לדוגמה, לחיצה על הלחצן 'ייבוא חברים מ-Play Games').
4.6 שיטה מומלצת אם שחקן דחה את הגישה לרשימת החברים, צריך לתת לו אפשרות להעניק גישה לרשימת החברים בעתיד (לדוגמה, אחרי לחיצה על הלחצן 'ייבוא חברים מ-Play Games').
‫4.7 שיטה מומלצת אם משתמשים במזהה הנגן או ברשימת החברים עם שרת עורפי, צריך לגשת למזהה או לרשימה באופן מאובטח. נוסף על כך, בחלק מהמשחקים ומהשחקנים הישנים, מזהה השחקן שמוחזר על ידי ה-SDK של Android עבור שחקן עשוי להיות שונה מזה שמוצג לשחקנים אחרים כשהם צופים בשחקן הזה באותו משחק. הנתון הזה רלוונטי במיוחד כשמשתמשים ברשימת החברים. עם זאת, השדה player_id שמוחזר ב-API ל-REST הוא תמיד עקבי ותמיד זהו המזהה שגלוי לנגנים אחרים.

5. מכסות והגבלת קצב של יצירת בקשות

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

מזהה חשיבות תיאור
5.1 שיטה מומלצת שימוש בספריות הלקוח

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

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

5.2 מומלץ שילבו שיחות תכופות עם הישגים מצטברים.

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

5.3 מומלץ חשוב להיות מודעים לשימוש שלכם.

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

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

6. משחקים שמורים

המשימות הבאות ברשימת המשימות רלוונטיות להטמעת התכונה משחקים שמורים במשחק.

מזהה חשיבות תיאור
6.1 חובה הוספת מטא-נתונים כדי לספק הקשר נוסף למשחקים שנשמרו.

לכל הפחות, צריך לכלול את המטא-נתונים הבאים כשמתחייבים משחק שמור:

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

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