בדף הזה מוסבר איך לשלב את התכונה 'כניסה ל-Play Games Services' עם פתרון קיים לניהול זהויות או לשמירת נתונים בענן. ההמלצות האלה הן אופציונליות, אבל הן יכולות לעזור לכם לעמוד בדרישות של שמירת נתונים בענן ב-Google Play Games במחשב. כדי לוודא שההטמעה עומדת בדרישות האלה, אפשר לעיין בדפים דרישות ההמשכיות והתנהגויות צפויות.
שחזור מצב הנגן
בסביבת ה-Backend של המשחק, סביר להניח שחשבונות המשחק מיוצגים על ידי מזהה כלשהו שמאפשר לכם לאחזר ולעדכן את ההתקדמות שלהם במשחק. נקרא לו בקצרה מזהה החשבון. כששחקן נכנס ל-Play Games Services, אתם יכולים להשתמש באימות הזה כדי לקבל מזהה חדש – מזהה השחקן ב-Play Games Services – שמשמש להפעלת הדרישה של שמירה בענן.
כששחקן מתחבר באמצעות Play Games Services, צריך להמשיך באופן הבא:
- מאחזרים את קוד ה-OAuth מהלקוח ושולחים אותו לשרת.
- מחליפים את אסימון האימות ומקבלים מזהה מאומת של Play Games Services משרת Play Games. כך מוודאים שהמזהה מהימן ולא מדובר במישהו שמנסה להתחזות לשחקן אחר באמצעות מכשיר שנפרץ.
- המערכת מנסה לפתור בעיה בחשבון משחק על סמך התנאים של המכשיר ומזהים מקושרים.
צריך להוסיף למשחק שני תרחישים חדשים עיקריים:
- שמירת מזהים של Play Games Services בשרת העורפי והקצאה שלהם למזהי חשבונות קיימים בדרך כלשהי, כמו בדוגמה הבאה:
- ההתקדמות של שחקנים חדשים אמורה להיות מקושרת אוטומטית ל-Play Games Services בשלב מסוים. (לדוגמה, בהפעלת המשחק, אחרי ההדרכה או אחרי מספר מסוים של רמות וכו').
- אם השחקנים כבר משחקים במשחק, ההתקדמות הנוכחית שלהם אמורה להיות מקושרת אוטומטית ל-Play Games Services אחרי שהם מעדכנים לגרסה של המשחק שמשולבת בה גרסה 2 של Play Games Services.
- אפשר לקשר את המזהה ב-Play Games Services לחשבון אחד או יותר, ואפשר לבטל את הקישור של Play Games Services לחשבונות האלה, אבל הוא צריך להיות מקושר לפחות לחשבון תקף אחד.
- שחזור אוטומטי של ההתקדמות במשחק במכשיר חדש או במכשיר שבו יצאתם מהחשבון, על סמך מזהה השחקן ב-Play Games Services.
יש כמה דרכים לאחסן ולהקצות מזהים של Play Games Services לחשבונות קיימים, כמו בדוגמאות הבאות. הדרישות העיקריות שחשוב לזכור הן שהשחקן לא צריך להיכנס באופן ידני או ליצור קישור למערכת זהויות אחרת כדי ליצור קישור בין המזהה שלו ב-Play Games Services לבין ההתקדמות במשחק, ושההתקדמות של השחקן תשוחזר בצורה חלקה בכל הפלטפורמות.
כשמעצבים את הפתרון, מתחילים בבדיקת המערכת הקיימת ואיך היא משלבת ספקי זהויות שונים. במערכות מסוימות משתמשים במזהה אחד לכל חשבון, ובמערכות אחרות משתמשים בכמה מזהים לכל חשבון.
אם אפשר לשייך כל מזהה חשבון רק למזהה אחד, צריך להוסיף תמיכה בשיוך של Play Games Services. בדוגמאות הבאות מוסבר איך לעשות את זה.
פתרונות לדוגמה
הפתרונות לדוגמה כוללים פתרונות של קשירה והיזכרות.
קישור הוא תהליך שבו מקשרים באופן קבוע או חצי קבוע את המזהה של Play Games Services למצב החשבון. במקרה של קישור, החשבון הבסיסי שמשוחזר דרך Play Games Services לא משתנה עבור השחקן ללא פעולה מצידו, גם אם הוא יוצא מהמשחק ונכנס אליו עם חשבון אחר. הסבר על קישור חשבונות מופיע כאן.
בעזרת התכונה 'החזרה לזיכרון', מפתחי המשחקים יכולים לשמור מיפוי חופשי של מזהה Play Games Services והחשבונות האחרונים שבהם השחקן השתמש, כדי לשחזר אותם כשהוא נכנס באמצעות Play Games Services במכשיר אחר. בכל פעם שהשחקן מתחבר לחשבון משחק אחר עם אותו מזהה Play Games Services, הקישור הזה משתנה. לפניכם תרשים זרימה לדוגמה, שמוסבר יותר בדוגמה שחזור חשבונות שנמחקו לאחרונה שבהמשך:
דוגמאות נוספות למסלולים של משתמשים מצורפות לפתרונות שבהמשך.
שיוך חשבון
אם במשחק שלכם אין הרבה שחקנים עם כמה חשבונות, או אם אתם רוצים לעודד את הגיימרים להשתמש בחשבון אחד במשחק, כנראה שהפתרון הטוב ביותר בשבילכם הוא קישור. בדוגמה הזו, אתם מקשרים את החשבון הראשון שמופיע כשאתם מחוברים לשירותי Play Games (בין אם זה חשבון אורח או חשבון שמקושר גם לפלטפורמת זהויות אחרת) למזהה השחקן בשירותי Play Games. אחרי הקישור הזה, החשבון המקושר ישוחזר אוטומטית במכשירים חדשים. מכיוון שאנחנו מבצעים קישור חזק, השחקן יכול גם להחליף בין פרופילים של Play Games Services כדי לשנות את החשבונות בתוך המשחק, ואתם יכולים לבקש מהשחקן לאשר את הפעולה הזו.
אם יש חשבונות שמתנגשים זה עם זה, מומלץ לבקש מהשחקן לבחור חשבון. המקרים האלה של סתירות אמורים לקרות רק לשחקנים שיש להם כמה חשבונות במשחק, ולכן סביר להניח שיש להם את הידע והרצון לשחק עם חשבון ספציפי.
אחרי שהבעיה בחשבון תיפתר, המשחק אמור לזכור את הבחירה של השחקן, אלא אם יש שינוי במזהי הכניסה. אם הפרופיל של שירותי Play Games משתנה, או אם השחקן מתחבר למזהה אחר במשחק, צריך לחזור על השלבים שלמעלה כי השחקן העביר אות חזק לכך שהוא רוצה לשנות את החשבונות.
ביטול ההגדרה כספק
אם רוצים לאפשר לשחקן לשלוט באופן מלא בקישורים שלו, אפשר להציע לו לבטל את הקישור של מזהה השחקן שלו ב-Play Games Services לחשבון במשחק. זה יכול להיות חשוב לחלק מהשחקנים שיש להם כמה חשבונות, אם הם קישרו בטעות את מזהה השחקן שלהם ב-Play Games Services לחשבון שהוא לא החשבון הראשי שלהם.
דוגמאות נוספות לקישור חשבונות
בדוגמה הראשונה רואים שמזהה שחקן מסוים ב-Play Games Services (1) מקושר לחשבון הראשון במשחק שזוהה (A), ולא מקושר מחדש כשהשחקן מתנתק מההתקדמות שלו במשחק כדי לשחק בחשבון אחר.
אפשר לאפשר לשחקנים לקשר מחדש את החשבון שלהם, אבל זו לא חובה.
החלפת חשבונות במכשיר
במקרה הזה, השחקן החליף באופן ידני את החשבון שלו ב-Play Games Services, ולכן הוא העביר למשחק אות חזק שהוא רוצה לשנות את החשבון שלו במשחק לחשבון אחר. התגובה לשינוי הזה היא מה שהשחקן רוצה, והתייחסות לאות הזה מובילה לחוויית משחק טובה יותר.
חשבון קיים שמקושר למזהה אחר
בדוגמה הזו אפשר לראות שגם חשבונות שמקושרים למזהים שאינם של Play Games Services צריכים להיות מקושרים ל-Play Games Services ואז לשוחזר במכשירים חדשים. רוב השחקנים הקיימים במשחק שלכם שיש להם חשבונות ייכללו בקטגוריה הזו.
הצגת חשבונות שהיו פעילים לאחרונה
כשחושבים על פתרונות, אחד הדברים שעולים לעיתים קרובות הוא חוויית ריבוי החשבונות. אם המשחק שלכם מעודד משתמשים מתקדמים ליצור הרבה חשבונות (למשל משחקי גאצ'ה או משחקים שבהם השחקן בוחר את ההרפתקה שלו), יכול להיות שקישור מזהה השחקן ב-Play Games Services לחשבון יחיד לא יספק את חוויית המשחק הטובה ביותר כשעוברים בין מכשירים.
בפתרון השחזור, אתם שומרים מיפוי חופשי של מזהה שחקן ב-Play Games Services וחשבון במשחק, והשחקן פשוט רואה את החשבונות האחרונים ששמרתם כשהוא עובר בין מכשירים או כשהוא יוצא מהחשבון.
בדוגמה הזו, לשחקן יש שלושה חשבונות במשחק, ואז הוא עובר למכשיר חדש:
כשמציעים לשחקן לשחזר את החשבון, אפשר גם להציע לו כפתור 'ביטול' או 'יצירת חשבון חדש' כדי ליצור חשבון חדש.
כדי לפשט את התהליך, המשחק יכול לבחור לזכור רק את החשבון האחרון שנראה. יכול להיות שיהיה קשה יותר לעשות את זה במקרה השימוש של מעבר בין כמה חשבונות, אבל עדיין אפשר לעמוד בדרישה להמשכיות.
דוגמאות נוספות לזיכרון
בקטע הבא יש דוגמאות נוספות לשימוש בזיכרון.
טלפונים שאין בהם מערכת Android
בדוגמה הזו אנחנו מראים איך לאחזר חשבונות שכבר קיימים (חשבון של צד שלישי שמקושר), או חשבונות שנוצרו ממכשיר אחר שלא מחובר ל-Play Games Services.
תהליך נפוץ יותר הוא להתחיל בטלפון שאינו Android ולעבור אל Google Play Games במחשב.
מכיוון שבטלפון שאין בו Android לא מותקנים שירותי Play Games, לא מופעלת בו תכונת השחזור, והשחקן צריך להקליד ידנית את פרטי הכניסה שלו מתוך Google Play Games במחשב.
כמה פרופילים ב-Play Games Services לחשבון אחד
יכול להיות שמדי פעם יהיו כמה פרופילים פעילים ב-Play Games Services שבעבר 'הוצאו' מחשבון מסוים. במקרה הזה, יש שני פתרונות עיקריים שיכולים לעבוד באותה מידה:
שמירה בכל זאת
במודל 'שמירה בכל זאת', אנחנו מתעלמים ממצביעים כפולים לחשבון נתון.
שינוי
במודל 'שינוי', המפתח צריך לזכור את המיפויים של שירותי המשחקים של Play לחשבון ולנקות מיפויים ישנים בטבלאות שלו. כך הם יכולים לשמור על מיפוי נקי של 1:1 בין חשבונות שהוצאו משימוש לבין חשבונות ב-Play Games Services.
אותו מכשיר, אותו זיכרון
שחקן עם כמה חשבונות יכול להשתמש בהטמעה של הזיכרון כדי לעבור במהירות בין חשבונות המשחק שלו.