שחזור חלק הוא תכונה של Google Play Games Services שנועדה לחבר מחדש באופן מיידי שחקנים חוזרים להתקדמות שלהם במשחק כשהם מתקינים משחק במכשיר חדש או מתקינים אותו מחדש, וכך למנוע את הצורך במסך כניסה.
ההנחיה 'שחזור חלק' מומלצת במסגרת תוכנית Level Up.
כדי לייעל את חוויית אימות המשתמשים בפלטפורמה של המשחק, כדאי להשתמש באימות של Google Play Games Services. מאחלים את Play Games Services SDK כדי להפעיל אימות, וכך לא צריך תהליך אימות נפרד בפלטפורמה.
קישור חשבונות של משתמשים כדי לאפשר המשכיות והפעלה במכשירים שונים
שחקנים נהנים מהמשחקים האהובים עליהם במגוון מכשירים ופלטפורמות, כולל ניידים, טאבלטים ומחשבים. אחת הציפיות העיקריות של השחקנים האלה היא היכולת להמשיך את המשחק בדיוק מהמקום שבו הפסיקו, בלי קשר למכשיר שבו הם בוחרים לשחק.
מחסום משמעותי שמוביל לעיתים קרובות לנטישת משתמשים הוא הדרישה להיכנס לחשבון בנפרד בכל מכשיר חדש. המשתמשים צריכים ליהנות מחוויית משחק סוחפת באופן מיידי, בלי הפרעות מיותרות.
כדי לאפשר המשכיות חלקה ומשחק במכשירים שונים, צריך להטמיע שתי תכונות מרכזיות:
תהליך האימות של Play Games Services מספק אפשרויות גמישות למזהי שחקנים. האפשרויות האלה מאפשרות לכם לשלב את Play Games Services עם פתרון הזהויות הקיים שלכם.
שילוב חדש של Play Games Services
במשחקים ללא שילוב קיים של Play Games Services, Recall API מפשט את הגדרת ה-Backend על ידי ניהול שיוך החשבונות ושמירת הקשר בין חשבון המשחק של המשתמש לבין חשבון Play Games Services שלו.
קישור חשבונות באמצעות Recall API
Recall API הוא הפתרון המומלץ לקישור חשבונות משתמשים במשחקים בפלטפורמות שונות. ממשק ה-API הזה שימושי במיוחד למשחקים שלא משולבים עם Play Games Services או למשחקים שמשתמשים בפתרונות אימות נוספים לפלטפורמה מעבר ל-Play Games Services.
Recall API מפשט את הגדרת ה-backend של המשחק על ידי ניהול שיוכים של חשבונות.
- בק-אנד פשוט יותר: ה-API מפשט את הגדרת הבק-אנד של המשחק לצורך קישור חשבונות.
- שיוכים שמנוהלים על ידי Play: מערכת Play שומרת את השיוך בין חשבונות המשחקים של המשתמשים (כולל חשבונות של צד שלישי) לבין החשבונות שלהם ב-Play Games Services.
- שחזור התקדמות: מפתחים יוצרים ושולחים אסימוני זיכרון ל-Play, שאפשר לאחזר אותם כדי לשחזר את ההתקדמות של משתמש במשחק.
כשמטמיעים את Recall API, המפתחים צריכים לוודא שטוקנים של Recall הם מחרוזות אטומות. האסימונים האלה לא יכולים להכיל מידע רגיש או פרטים אישיים מזהים (כמו שם, כתובת אימייל או נתונים דמוגרפיים) על גיימרים.
כדי להגן על נתוני המשתמשים ולשמור על האבטחה, במשחקים צריך להשתמש באלגוריתמים חזקים להצפנה כשיוצרים טוקנים של Recall.
מידע נוסף על אופן הפעולה של Recall זמין במאמר Recall API.
במאמר שילוב של Play Games Services Recall API במשחק מוסבר איך להטמיע את התכונה Recall API.
שילוב קיים של Play Games Services
בקטע הזה מוסבר איך לשלב את המשחק עם Play Games Services באמצעות קישור של חשבונות שחקנים. איך משתמשים במזהי שחקנים כדי לזהות שחקנים מאומתים ולנהל כמה חשבונות משחק עבור משתמש אחד ב-Play Games Services
כבילה באמצעות Player_id
מזהה השחקן הוא המזהה של חשבון השחקן ב-Play Games Services. המשחק יכול לאחזר את המזהה של כל שחקן שאומת במשחק באמצעות Play Games Services.
במשחקים שהגדרתם להם את ה-בק-אנד באמצעות Play Games Services Player_Id או במשחקים שנדרשת בהם תמיכה במשתמשים קטינים, צריך להשתמש ב-Player_Id ולקשר את המשחק ואת חשבונות צד ג' ל-Player_Id.
הסבר על ההתנהגות של מזהי שחקנים:
- עקבי בתוך משחק: מזהה השחקן נשאר עקבי עבור משתמש בכמה מכשירים כשהוא משחק באותו משחק.
- לא עקבי בין משחקים: מזהי השחקנים לא תמיד עקביים כשמשתמש משחק במשחקים שונים.
מידע נוסף זמין במאמר בנושא מזהי שחקנים מהדור הבא.
ניהול של כמה חשבונות לכל משתמש באמצעות כבילה
כדי לקשר כמה חשבונות משתמשים לחשבון יחיד ב-Play Games Services, יוצרים מיפוי של אחד לרבים בטבלה.
זהות Google חוצת פלטפורמות באמצעות 'כניסה באמצעות חשבון Google'
כניסה באמצעות חשבון Google (SiwG) היא פתרון הזהויות העיקרי של Google, שמאפשר למפתחי משחקים לקבל בצורה מאובטחת את פרטי הפרופיל של השחקנים: השם, כתובת האימייל ותמונת הפרופיל.
אחד היתרונות המרכזיים של הכניסה באמצעות חשבון Google הוא הזמינות הרחבה שלה בפלטפורמות שונות, כולל אינטרנט, Android ו-iOS. היא מספקת חוויית כניסה מהירה, מאובטחת ומוכרת שהשחקנים כבר מכירים וסומכים עליה.
קישור לשדה sub של טוקן המזהה של Google
כדי ליצור חוויה חלקה בפלטפורמות שונות, אפשר להטמיע אסטרטגיית אימות שמקשרת את מערכת החשבונות של המשחק למזהה ייחודי של חשבון Google. הגישה הזו מתבססת על האימות היעיל של Play Games Services ב-Android, תוך שימוש ב-SDK הרגיל של 'כניסה באמצעות חשבון Google' בפלטפורמות אחרות כמו iOS ואינטרנט.
השדה sub מאסימון המזהה של Google הוא מזהה ייחודי וקבוע של חשבון משתמש ב-Google. השדה sub זהה בכל הפלטפורמות עבור אותו משתמש. משתמשים בערך sub כמפתח הייחודי בבק-אנד כדי לקשר ולשחזר את התקדמות השחקן במכשירים שונים. המפתח הזה מקשר את כל הסשנים של השחקן לחשבון משחק יחיד בקצה העורפי שלכם.
הנה תרשים כללי של התהליך:
- ב-Android: המשחק מאתחל את Play Games Services SDK כדי להפעיל אימות בפלטפורמה באופן אוטומטי במכשירי Android. כשנכנסים באמצעות חשבון Google ב-Android, צריך לבקש את שלושת היקפי ההרשאות לכניסה:
email,profileו-openid. לא להשתמש בשילוב של Play Games Services v2. אלה אותם היקפי הרשאות שמבוקשים על ידי SDK רגיל של SiwG. כך תוכלו לאחזר אסימון מזהה שמכיל את השדהsubשל השחקן. - באינטרנט וב-iOS: המשחק משתמש בערכות ה-SDK הרגילות של Sign in with Google for web ושל Google Sign in for iOS and macOS. כשהמשתמש נכנס לחשבון, SiwG SDK מספק טוקן מזהה שמכיל גם את השדה
subשל המשתמש. - קישור חשבון: מכיוון שהמשתמש נכנס באמצעות אותו חשבון Google בשתי הפלטפורמות, השדה
subשתקבלו יהיה זהה. לאחר מכן תוכלו לקשר את הערך הזה שלsubלמזהה המשתמש הפנימי בפתרון הזהויות שלכם, וכך ליצור חוויית משתמש אחידה.
שילוב ב-Android
ב-Android, מאתחלים את Play Games Services SDK כדי להפעיל אוטומטית אימות בפלטפורמה במכשירי Android. לאחר מכן, כשנכנסים באמצעות חשבון Google ב-Android, מבקשים את שלושת היקפי ההרשאות לכניסה: email, profile ו-openid. כך תוכלו לאחזר קוד הרשאה בצד השרת, שבאמצעותו הבק-אנד יכול להחליף אסימון מזהה שמכיל את פרטי המשתמש, כולל השדה הייחודי sub.
באופן כללי, ההטמעה כוללת:
הגדרה של מזהי לקוח בפרויקט מאוחד: לפני ההטמעה, צריך להגדיר את Play Games Services ב-Google Play Console כדי לקבל את מזהי הלקוח של OAuth 2.0.
הגדרת Play Games Services: קודם מוסיפים את המשחק ב-Google Play Console ומשלבים אימות פלטפורמה של Play Games Services במשחק.
הוספת לחצן 'כניסה באמצעות חשבון Google': בדף הכניסה או במסך הגדרות המשתמש של המשחק, מוסיפים לחצן כניסה באמצעות חשבון Google. לחיצה על הלחצן הזה תפעיל את תהליך הכניסה או ההרשמה. כשיוצרים את הלחצן הזה, מומלץ לפעול בהתאם לספר המותג של 'כניסה באמצעות חשבון Google'. לפחות, על הלחצן צריכות להופיע בבירור המילים Google או Sign in with Google (כניסה באמצעות חשבון Google). בקישור להנחיות יש גם נכסי UX שאפשר להוריד, שעומדים בדרישות ושאפשר להשתמש בהם במשחק.
שליחת בקשה לקוד הרשאה לשרת עם היקפי הרשאות לכניסה: כשהשחקן לוחץ על הלחצן, המשחק שולח בקשה לקוד הרשאה לשרת חד-פעמי. השלב הכי חשוב הוא להגדיר את הבקשה כך שתכלול את היקפי ההרשאות הבאים לכניסה:
EMAIL,PROFILEו-OPEN_ID.אופן ההגדרה תלוי בסביבת הפיתוח:
ל-Java/Kotlin: אפשר לעיין במדריך בנושא קבלת קוד הרשאה לשרת באמצעות
requestServerSideAccess.ב-Unity: אפשר לעיין במדריך בנושא אחזור קודי אימות ב-Unity.
החלפת קוד אימות ואימות אסימון מזהה בבק-אנד: שולחים את קוד האימות מהשלב הקודם לשרת הבק-אנד. בשרת, פועלים לפי המדריך הרגיל בנושא תהליך החלפת קוד ב-OAuth 2.0 כדי להחליף את הקוד באסימון מזהה, באסימון גישה ובטוקן רענון. כמו שמתואר במדריך, אתם צריכים לאמת את טוקן ה-ID בשרת שלכם.
קישור השדה
sub: אחרי שהאסימון לזיהוי (ID) מאומת בהצלחה, צריך לחלץ את השדהsubמהמטען הייעודי שלו. משתמשים בערךsubכמפתח הייחודי לזהות Google בפתרון הזהות.אם הערך
subכבר קיים במסד הנתונים שלכם, סימן שהמשתמש קישר את החשבון שלו בעבר. מכניסים אותם לחשבון המשחק המתאים.אם הערך
subלא קיים, אפשר ליצור חשבון משתמש חדש במערכת החשבונות של המשחק שמשויך לערךsubהזה, או לקשר לחשבון משתמש קיים במערכת החשבונות על ידי התאמה של פרטי המשתמש (כמו כתובת האימייל) שמופיעים באסימון המזהה.
שילוב ב-iOS, באינטרנט ובפלטפורמות אחרות
בפלטפורמות אחרות מלבד Android, iOS, אינטרנט או מחשב, תשתמשו בערכות ה-SDK הרגילות של 'כניסה באמצעות חשבון Google'. המטרה זהה לזו של התהליך ב-Android: לקבל בצורה מאובטחת אסימון מזהה Google, לשלוח אותו לבק-אנד ולהשתמש בשדה sub כדי לקשר את החשבון.
באופן כללי, ההטמעה כוללת:
שילוב בצד הלקוח: פועלים לפי התיעוד הרשמי כדי לשלב את Sign in with Google SDK בפלטפורמה שלכם. המדריכים האלה כוללים את התהליך המלא בצד הלקוח, החל מהצגת לחצן הכניסה באמצעות Google ועד לאחזור אסימון המזהה.
באינטרנט: כניסה באמצעות חשבון Google לאינטרנט
בפלטפורמות שאין להן SDK ייעודי (כמו מנוע משחקים בהתאמה אישית או גרסה למחשב), אפשר להטמיע באופן ידני את תהליך ההרשאה של שרת אינטרנט מסוג OAuth 2.0 כדי לקבל את האסימונים הנדרשים.
לוגיקה של ה-Backend: שולחים את טוקן ה-ID (או קוד האימות) ל-Backend. לאחר מכן, השרת מבצע את אותה בדיקה בדיוק ואת אותה לוגיקה של
subקישור שדות כפי שמתואר בשלבים 4 ו-5 בקטע 'שילוב ב-Android'.
מכיוון שהשדה sub מכל תהליכי הכניסה האלה באמצעות Google זהה לזה שמאוחזר מתהליך Google Play Games Services ב-Android (עבור אותו חשבון Google), התהליך הזה מקשר בהצלחה את החשבון של המשתמש בכל הפלטפורמות.