Google Play Games Services, games v1 SDK מסתמך על התחברות באמצעות חשבון Google ב-Android, שהוצאה משימוש ותוסר מ-Google Play services Auth SDK (com.google.android.gms:play-services-auth) בשנת 2025. אפליקציות חדשות של משחקים יכולות להשתמש ב-games v1 עד 2025. ההסרה של התחברות באמצעות חשבון Google יוצרת בעיות של תלות באפליקציות קיימות של משחקים. כדי לפתור את בעיות התלות שנוצרות בעקבות ההסרה של התחברות באמצעות חשבון Google, צריך להעביר אפליקציות קיימות של משחקים מ-games v1 SDK אל games v2 SDK.
המעבר מגרסה 1 לגרסה 2 של Google Play Games Services הוא עדכון משמעותי שמפשט את תהליך הפיתוח ותומך במשחקים חוצי-פלטפורמות. גרסה 2 של Google Play Games Services מפרידה בין הפלטפורמה לבין הזהות במשחק, ופועלת כמערכת זהויות ברמת הפלטפורמה שמבצעת אימות אוטומטי של השחקנים בהפעלה. הזהות בפלטפורמה נפרדת עכשיו ממערכת החשבונות הראשית במשחק, שצריך לנהל אותה בנפרד באמצעות כלים כמו 'כניסה באמצעות חשבון Google' או בקצה העורפי הקנייני. השילוב של גרסה 2 של Google Play Games Services SDK משתמש במזהה השחקן לתכונות של הפלטפורמה כמו הישגים וטבלת המובילים, בלי לשנות את תהליכי ההדרכה למשתמשים חדשים או הכניסה הקיימים.
המסמך הזה עוזר להבין את האינטראקציות בין אפליקציית המשחקים לבין ערכות SDK שונות. בגלל ציר הזמן הרשמי להוצאה משימוש, אתם צריכים לפעול לפי העקרונות האדריכליים, הנתיבים ואסטרטגיות התקשורת עם השחקנים שמופיעים במדריך הזה להעברה כדי להבטיח את המשכיות של השחקנים.
אינטראקציות עם SDK
בתרשימים מוצגת האינטראקציה בין אפליקציית משחקים ב-Android, שירותי Google לנייד (GMS) Core, Play Games Services ושרת משחקים של צד שלישי (3P). התרשימים מדגישים את האופן שבו האפליקציה משתמשת בשירותים של Google לאימות ולתכונות משחק, וגם מקיימת אינטראקציה עם מערכת נפרדת של צד שלישי.
משחקים גרסה 2 (נוכחית)
משחקים גרסה 1 (דור קודם)
בהמשך מופיעה סקירה כללית קצרה של הרכיבים וערכות ה-SDK:
- אפליקציית משחקים.
- הערך הזה מייצג את אפליקציית המשחק של המשתמש שפועלת במכשיר Android.
- הוא מכיל שני רכיבים עיקריים:
- games v1 או games v2 SDK. ערכת ה-SDK בצד הלקוח שאחראית ליצירת אינטראקציה עם Play Games Services.
- ערכת SDK לאימות. Google Play services Auth SDK אחראי לטיפול בתהליכי אימות ומתן הרשאות למשתמשים במשחקים בגרסה 1.
- שתי ערכות ה-SDK מתקשרות באמצעות AIDL (שפה להגדרת ממשקים ב-Android), מה שמצביע על דפוס תקשורת בין תהליכים או שירותים שונים.
- GMS Core נקרא גם Google Play Services.
- זו השכבה הקניינית של Google ב-Android.
- אפליקציית המשחקים משתמשת בשני מודולים של GMS Core:
- מודול המשחקים מספק תכונות ספציפיות למשחקים, כמו טבלאות מובילים, הישגים וניהול מצב המשחק.
- מודול אימות. מטפל בפעולות של אימות והרשאה של משתמשים.
- ערכות ה-SDK של Games ו-Auth באפליקציית המשחקים מתקשרות עם המודולים המתאימים באמצעות ממשקי AIDL, שמציינים תקשורת בין תהליכים (IPC).
- שער של Play Games Services.
- שער לוגי שמתווך את התקשורת בין GMS Core לבין השרת של Play Games Services.
- מטפל בבקשות API, בטרנספורמציה של נתונים ובאימות של תקשורת השרת.
- שרת Play Games Services.
- מייצג את שירותי הקצה העורפי של Play Games Services שאחראים לאחסון נתוני משחק, לניהול חשבונות משתמשים ולתכונות של ריבוי משתתפים.
- שער למשחקים של צד שלישי.
- אם אפליקציית המשחקים שלכם עומדת בדרישות של אפליקציית צד שלישי (3P), ספריית הלקוח מתקשרת עם השרתים של Play Games Services דרך שרתי המשחקים של הצד השלישי.
- המשמעות היא שהאפליקציה יכולה גם לבצע אימות אצל ספק שירות אחר.
- שרת משחקים של צד שלישי.
- מייצג שרת חיצוני אופציונלי שאפליקציית המשחקים יכולה ליצור איתו אינטראקציה, בדרך כלל לצורך תכונות מותאמות אישית או ניהול נתונים.
- התקשורת עם האפליקציה מתבצעת דרך שער המשחקים של צד שלישי.
למה כדאי להעביר את המשחק ל-Play Games Services בגרסה 2
המעבר מ-Play Games Services בגרסה 1 לגרסה 2 הוא מודרניזציה משמעותית של הארכיטקטורה, שמפשטת את הפיתוח ותומכת במשחקים חוצי-פלטפורמות.
בניגוד לגרסה 1, ששימשה כמערכת ראשית לניהול הזהויות במשחק, גרסה 2 של Play Games Services מפרידה בין הזהות בפלטפורמה לבין הזהות במשחק. היא פועלת כמערכת לניהול הזהויות ברמת הפלטפורמה שמבצעת אימות אוטומטי של השחקנים בהפעלה כדי לנהל תכונות כמו הישגים וטבלאות מובילים.
עכשיו צריך לנהל את מערכת החשבונות הראשית במשחק באופן עצמאי באמצעות כלים כמו 'כניסה באמצעות חשבון Google' או מערכות קצה עורפיות קנייניות. בעזרת גרסה 2 של Play Games Services SDK, משחקים יכולים להשתמש במזהה השחקן ב-Play Games Services כדי לגשת לתכונות של הפלטפורמה בלי לשנות את תהליכי ההצטרפות או הכניסה הקיימים. במסמך הזה מוסבר איך לבצע את ההעברה, כולל עקרונות ארכיטקטוניים, דרכי פעולה ואסטרטגיות לתקשורת עם השחקנים. הקפדה על ההנחיות חשובה מאוד כדי שהשחקנים יוכלו להמשיך לשחק, בהתאם ללוח הזמנים הרשמי להוצאה משימוש.
השוואה בין אימות פלטפורמה לאימות בתוך המשחק
ב-Play Games Services בגרסה 2, המושג 'כניסה לחשבון' מפוצל לשתי שכבות נפרדות:
- זהות הפלטפורמה. ה-SDK מטפל באימות בפלטפורמה.
- זהות במשחק.
אימות בפלטפורמה
שירותי Play Games פועלים אך ורק כשכבת מעורבות בפלטפורמה. הם מנהלים את הקשר של השחקן עם המערכת האקולוגית של Google Play Games (הישגים, טבלאות הישגים ואירועים), ולא את האימות בחשבון או במלאי של משחק ספציפי.
- שקט ואוטומטי: האימות מתבצע אוטומטית ברקע כשהמשחק מופעל. לא נדרש לחצן ידני לכניסה ל-Play Games Services.
- מזהה השחקן: אחרי אימות מוצלח של הפלטפורמה, Play Games Services מספק מזהה שחקן יציב. המזהה הזה עקבי בין מכשירים שונים באותו משחק, אבל צריך להשתמש בו בעיקר כדי לעקוב אחרי נתונים סטטיסטיים של הפלטפורמה (כמו התקדמות בהשגת הישגים).
- מנותק: אסור להשתמש ב-Play Games Services בגרסה 2 כמערכת הזהויות הראשית של המשחק לניהול החשבון של השחקן במשחק עם ההתקדמות או המלאי שלו במשחק. Play Games Services v2 פועל אך ורק כמזהה פלטפורמה משני וקבוע.
אימות במשחק
המפתחים אחראים לניהול של חשבון במשחק (IGA). זו מערכת הזהויות שמקשרת בין ההתקדמות, המלאי והמטבע של השחקן במשחק שלכם.
- זהות ראשית: אתם יכולים להשתמש ב-backend משלכם, ב'כניסה באמצעות חשבון Google' (SiWG) או בספקים אחרים כשיטת הכניסה הראשית.
- עצמאות: שחקן יכול להיכנס ל-Play Games Services (זהות פלטפורמה) כדי לזכות בהישגים, גם אם הוא מחובר לחשבון ספציפי במשחק. לדוגמה, חשבון אורח או חשבון SiWG ספציפי.
- ניהול של כמה חשבונות במשחק: Play Games Services אחראי רק לאימות הפלטפורמה, והמשחק שלכם מנהל את האימות הראשי של השחקנים בחשבונות שלהם במשחק (IGA). המשמעות היא שלא יהיה שינוי בתהליכים הקיימים במשחק לגבי האופן שבו השחקנים עוברים בין החשבונות שלהם במשחק. בזמן שהשחקנים עושים זאת, הם עדיין יהיו מאומתים בפלטפורמת Play Games באמצעות Play Games Services, ותמשיכו לשלוח את הנתונים שלהם שקשורים להישגים ולתכונות אחרות של Play Games Services באמצעות מזהה השחקן הקבוע.
דרישה להעברה: קישור חשבונות במשחק באמצעות Google Open ID במקום מזהה שחקן ב-Play Games Services
בגרסה 1 של Play Games Services, מפתחים השתמשו ב-Play Games Services כספק הזהויות הראשי. לחצן 'Google Play' יקשר את החשבון של השחקן במשחק (IGA) ישירות אל Player ID.
ב-Play Games Services v2, התהליך הזה מתבצע באופן שונה. השירות מספק אימות בפלטפורמה אוטומטי ושקט בהפעלה. התוצאה של האימות, Player ID, משמשת עכשיו באופן בלעדי לתכונות של הפלטפורמה, כמו לוחות הישגים והישגים, בנפרד מהכניסה לחשבון הראשי.
מעכשיו, המשחקים צריכים לנהל זהות ראשית באופן עצמאי באמצעות מסך כניסה ייעודי שמציע שיטות כמו 'כניסה באמצעות חשבון Google' (SiWG) או חשבונות אחרים ברשתות חברתיות. חשוב לזכור שאסור להשתמש בגרסה 2 של Play Games Services כמערכת זהויות ראשית.
השינוי בארכיטקטורה מחייב שינוי מקביל באופן שבו מפתחים מארגנים את נתוני החשבון שלהם. צריך לבטל את הקישור של חשבון במשחק (IGA) ל-Player ID.
במקום זאת, עכשיו צריך לקשר את מזהה השחקן למזהה ראשי ויציב שלא תלוי ב-Play Games Services. המזהה המומלץ הוא Open ID שמועבר בתהליך הכניסה באמצעות חשבון Google (SiWG). המזהה הזה Open ID משמש כמפתח ייחודי וקבוע לחשבון הראשי של השחקן במערכת שלכם.
עם זאת, עדיין אפשר לקשר את ה-IGA אל Player ID כקישור משני. לקישור המשני הזה יש שתי פונקציות חשובות:
- היא מאפשרת למשחק להמשיך לעקוב אחרי ההתקדמות ולעדכן את התכונות של Play Games (הישגים וכו') שמשויכות לשחקן הספציפי הזה.
- היא מאפשרת את הפונקציונליות 'שחזור חלק', שמאפשרת למשחק להיכנס באופן אוטומטי לחשבון של שחקן ב-IGA האחרון שהיה בשימוש שלו, רק במכשיר חדש או אחרי התקנה מחדש.
הבנת מודל הזהויות המופרד הזה היא המפתח להבנת נתיב ההעברה הטכני הנכון למשחק שלכם.
השוואה בין תכונות
בטבלה הזו מוצג השוואה בין התכונות של SDK v1 ו-SDK v2 של משחקים:
תכונה |
games v1 SDK |
games v2 SDK |
|---|---|---|
אימות |
נדרש שילוב עם play-services-auth. |
פשוט ויעיל יותר, לא נדרש play-services-auth
שימוש ב- |
הרשאה |
קוד נוסף להצלחה, לכישלונות ולניסיונות חוזרים. |
בניהול של ה-SDK |
טוקן גישה לשרת |
יכול לבקש היקפי הרשאות נוספים של OAuth 2.0 עם GoogleSigninClient.קוד נוסף לטיפול בשגיאות במהלך האימות. |
יכולה לבקש שלושה היקפי הרשאות בסיסיים של OAuth 2.0 עם GamesSignInClient כשמבקשים גישה בצד השרת ל-Play Games Services web APIs.מידע נוסף זמין במאמרים בנושא גישה ל-Play Games Services בצד השרת ו אחזור קודי אימות לשרת. |
תהליך הכניסה |
נעשה שימוש ב- GoogleSigninClient.קוד נוסף לטיפול בקוד שחוזר על עצמו (boilerplate) לאימות אוטומטי ולטיפול בשגיאות. |
נעשה שימוש ב- GamesSignInClient.ה-SDK מטפל בקוד שחוזר על עצמו (boilerplate), באימות אוטומטי ובטיפול בשגיאות. הכניסה לחשבון מחולקת לשתי שכבות נפרדות:
|
חלון קופץ של הודעת ברוכים הבאים |
נדרש קוד נוסף. מפתחים יכולים לשלוט במיקום ובזמן ההצגה של המודעה. |
אין צורך בקוד נוסף. ממשק משתמש עקבי בכל המשחקים שהוגדרו באמצעות SDK בגרסה Games v2. |
יחסי תלות |
נדרשת ההרשאה play-services-auth. |
מודול המשחקים מטפל בהרשאה ובאימות. אין צורך להוסיף תלות נוספת. |
| יציאה מהחשבון |
נעשה שימוש ב- . GoogleSignInClient.signOut |
אין צורך ב-API של יציאה מהחשבון כי גרסה 2 של Play Games Services היא זהות פלטפורמה קבועה. |
כמה חשבונות ב-Play Games Services והגדרות לכל משחק |
אפשר לנהל את החשבון במשחק. |
המשתמשים יכולים לשנות את הפרופיל של שירותי Play Games בהגדרות של המכשיר הנייד. מידע נוסף זמין במאמר בנושא איך מחליפים בין פרופילים של Play Games בנייד. |