כדאי להשתמש באימות של Google Play Games Services כדי לייעל את חוויית האימות של המשתמשים בפלטפורמה של המשחק. מאותחלים את Play Games Services SDK כדי להפעיל אימות, וכך לא צריך להשתמש בתהליך אימות נפרד בפלטפורמה.
קישור חשבונות של משתמשים כדי לאפשר המשכיות והפעלה במכשירים שונים
שחקנים נהנים מהמשחקים האהובים עליהם במגוון מכשירים ופלטפורמות, כולל ניידים, טאבלטים ומחשבים. אחת הציפיות העיקריות של השחקנים האלה היא היכולת להמשיך את המשחק בדיוק מהמקום שבו הפסיקו, בלי קשר למכשיר שבו הם בוחרים לשחק.
מחסום משמעותי שמוביל לעיתים קרובות לנטישת משתמשים הוא הדרישה להיכנס לחשבון בנפרד בכל מכשיר חדש. המשתמשים צריכים ליהנות מחוויית משחק סוחפת באופן מיידי, בלי הפרעות מיותרות.
כדי לאפשר המשכיות חלקה ומשחק במכשירים שונים, צריך להטמיע שתי תכונות מרכזיות:
- קישור חשבונות
- שמירה בענן
תהליך האימות של Play Games Services מספק אפשרויות גמישות למזהי שחקנים. האפשרויות האלה מאפשרות לכם לשלב את Play Games Services עם פתרון הזהויות הקיים שלכם.
שילוב חדש של Play Games Services
במשחקים ללא שילוב קיים של Play Games Services, Recall API מפשט את הגדרת הבק-אנד על ידי ניהול שיוכים של חשבונות ושמירת הקשר בין חשבון המשחק של המשתמש לבין חשבון 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.
ניהול של כמה חשבונות באמצעות Recall API
כשמנהלים כמה חשבונות של אותו משתמש, אפשר להתייחס לכל חשבון כאל אישיות נפרדת. הגישה הזו מאפשרת ליצור חוויות מותאמות אישית על סמך ההקשר הספציפי של המשתמש.
כדי להטמיע את הגישה הזו, מבצעים את השלבים הבאים:
- ליצור טוקן ייחודי לכל פרסונה. הגדרת לקוח משחק
- מקשרים את הטוקנים האלה לחשבון Play Games Services באמצעות Recall API. איך מאחסנים טוקנים
- הגדרת מדיניות לפתרון בעיות בתרחישים שבהם חשבון ב-Play Games Services מקושר לכמה דמויות. הצגת טוקן הריקול האחרון בכל המשחקים שבבעלות חשבונות המפתחים
יש אפשרויות שונות למדיניות (למשל, שחזור אוטומטי של החשבון האחרון), אבל אנחנו ממליצים מאוד להציג למשתמש הנחיה. בבקשה הזו צריך לבקש מהמשתמש לבחור את החשבון שהוא רוצה לשחזר, כדי לספק חוויה ברורה וידידותית למשתמש.
שילוב קיים של Play Games Services
בקטע הזה מוסבר איך לשלב את המשחק עם Play Games Services באמצעות קישור של חשבונות שחקנים. איך משתמשים במזהי שחקנים כדי לזהות שחקנים מאומתים ולנהל כמה חשבונות משחק עבור משתמש אחד ב-Play Games Services
קישור באמצעות Player_id
מזהה השחקן הוא המזהה של חשבון השחקן ב-Play Games Services. המשחק יכול לאחזר את המזהה של כל שחקן שאומת במשחק באמצעות Play Games Services.
במשחקים שהגדרתם להם את ה-backend באמצעות שירותי המשחקים של Play Player_Id או במשחקים שנדרשת בהם תמיכה במשתמשים שהם ילדים, צריך להשתמש ב-Player_Id ולקשר את המשחק ואת חשבונות הצד השלישי עם Player_Id.
הסבר על ההתנהגות של מזהי שחקנים:
- עקבי בתוך משחק: מזהה השחקן נשאר עקבי עבור משתמש בכמה מכשירים כשהוא משחק באותו משחק.
- לא עקבי בין משחקים: מזהי השחקנים לא תמיד עקביים כשמשתמש משחק במשחקים שונים.
מידע נוסף זמין במאמר בנושא מזהי שחקנים מהדור הבא.
ניהול של כמה חשבונות לכל משתמש באמצעות כבילה
כדי לקשר כמה חשבונות משתמשים לחשבון אחד ב-Play Games Services, יוצרים מיפוי של אחד לרבים בטבלה.
זהות Google חוצת פלטפורמות באמצעות 'כניסה באמצעות חשבון Google'
כניסה באמצעות חשבון Google (SiwG) היא פתרון הזהויות העיקרי של Google, שמאפשר למפתחי משחקים לקבל בצורה מאובטחת את פרטי הפרופיל של השחקנים: השם, כתובת האימייל ותמונת הפרופיל שלהם.
אחד היתרונות המרכזיים של הכניסה באמצעות חשבון Google הוא הזמינות הרחבה שלה בפלטפורמות שונות, כולל אינטרנט, Android ו-iOS. היא מספקת חוויית כניסה מהירה, מאובטחת ומוכרת שהשחקנים כבר מכירים וסומכים עליה.
קישור לשדה sub של טוקן המזהה של Google
כדי ליצור חוויה חלקה בין פלטפורמות, אפשר להטמיע אסטרטגיית אימות שמקשרת את מערכת החשבונות של המשחק למזהה ייחודי של חשבון Google. בגישה הזו נעשה שימוש באימות הפשוט של שירותי המשחקים של Play ב-Android, ובמקביל נעשה שימוש ב-SDK הרגיל של 'כניסה באמצעות חשבון Google' בפלטפורמות אחרות כמו iOS ואינטרנט.
המפתח לאסטרטגיה הזו הוא השדה sub מטוקן המזהה של Google. השדה sub (או 'נושא') הוא מזהה ייחודי וקבוע של חשבון משתמש ב-Google. המזהה הזה ישמש כ"גשר" לקישור כל הסשנים של השחקן לחשבון משחק יחיד בקצה העורפי.
הנה תרשים כללי של התהליך:
- ב-Android: המשחק שלכם מאתחל את Play Games Services SDK כדי להפעיל אימות אוטומטי במכשירי Android. אתם מגדירים את השילוב של Play Games Services גרסה 2 כדי לבקש את היקפי ההרשאות לכניסה הבאים:
email,profileו-openid. אלה אותם היקפי הרשאות שמבוקשים על ידי SDK רגיל של 'כניסה באמצעות חשבון Google'. כך תוכלו לאחזר אסימון מזהה שמכיל את השדהsubשל השחקן. - באינטרנט וב-iOS: המשחק משתמש בערכות ה-SDK הרגילות של Sign in with Google for web ושל Google Sign in for iOS and macOS. כשהמשתמש נכנס לחשבון, SiwG SDK מספק טוקן מזהה שמכיל גם את השדה
subשל המשתמש. - קישור חשבון: מכיוון שהמשתמש נכנס באמצעות אותו חשבון Google בשתי הפלטפורמות, השדה
subשמתקבל יהיה זהה. לאחר מכן תוכלו לקשר את הערךsubלמזהה המשתמש הפנימי בפתרון ניהול הזהויות שלכם, וכך ליצור חוויית משתמש אחידה.
שילוב ב-Android
ב-Android, משתמשים ב-Google Play Games Services SDK כנקודת השילוב העיקרית. כדי לעשות את זה, צריך להגדיר את לקוח הכניסה של Google Play Games Services כך שיבקש את היקפי הכניסה הנוספים. כך תוכלו לאחזר קוד הרשאה בצד השרת, שבאמצעותו הבק-אנד יכול לקבל אסימון מזהה שמכיל את פרטי המשתמש, כולל השדה הייחודי 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 כדי להחליף את הקוד באסימון מזהה, באסימון גישה ובטוקן רענון. כמו שמתואר במדריך, אתם צריכים לאמת את טוקן הזהות בשרת שלכם.
קישור השדה
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), התהליך הזה מקשר בהצלחה את החשבון של המשתמש בכל הפלטפורמות.