ממשק API של Recall

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

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

    המשתמש מחובר באמצעות Play Games Services ומתוך המשחק
חשבון

  2. בנוסף, המפתח שומר ב-Google אסימון זיכרון, תואם לחשבון של המשתמש בתוך המשחק. Google מאחסנת באופן אוטומטי ששומרים את אסימון Recall לפרופיל PGS של המשתמש.

    שרת המשחקים מאחסן אסימון ריקול ב-Google
שרתים

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

    שרת הגיימינג משחזר את ההתקדמות עם ריקול
אסימון

כפי שאפשר לראות בדוגמה שלמעלה, יש שתי פעולות עיקריות שבוצעו על ידי ל-Recall API:

  • אחסון של האסימון ב-Google כשמשתמש מתחבר לחשבון דרך אחד המשחקים חשבונות.
  • אחזור האסימון של משתמש כדי לשחזר אותו בתוך המשחק חשבונות.

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

כללי עוצמה (cardinality)

Recall API אוכף יחס 1:1 בין פרופילים ב-PGS לבין בתוך המשחק חשבונות (נקראים כללים לעוצמה (cardinality)), שבהם פרסונה אחת יכולה להיות בלבד מקושר לפרופיל אחד ב-PGS, ואפשר לקשר פרופיל אחד בלבד ב-Play Games Services פרסונה. הפרסונה משמשת כמזהה יציב לחשבון בתוך המשחק, מכיוון שאסימוני Recall עשויים להשתנות עם הזמן.

גם הפרסונה שמקושרת לפרופיל PGS עשויה להשתנות עם הזמן חשבונות במשחק מקושרים לפרופיל PGS).

תהליכי עבודה טכניים מפורטים לאחסון אחזור אסימוני Recall

קטע זה עוסק בתהליך הטכני בין לקוח המשחק, שרת המשחק, ואת שרתי Google בעת אחסון ואחזור של אסימוני זיכרון:

שלב 1: נכנסים לחשבון המשתמש ב-PGS ומאחזרים את מזהה הסשן

המשחק מפעיל את ה-SDK של PGS ומנסה להכניס את המשתמש לחשבון באמצעות Play Games Services.

המשתמש נכנס לחשבון באמצעות Play Games Services

בהנחה שהמשתמש מחובר, צריך לבקש מזהה סשן מ-Game SDK לקוח משחק, ולבקש אסימון OAuth 2.0 מהקצה העורפי של OAuth של Google. מזהה סשן ואסימוני OAuth 2.0 משמשים לתקשורת עם Google Games בקצה העורפי.

המפתח מבקש סשן
ID [מזהה]

שלב 2: מאחזרים את כל אסימון הזיכרון הזמין

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

המפתח מאחזר ריקול
אסימון

שלב 3א': אם קיים אסימון, משחזרים את ההתקדמות

אם קיים אסימון, מאחזרים את האסימון, מפענחים אותו ומשחזרים את נתוני המשתמש.

המפתח משחזר נתונים מריקול
אסימון

שלב 3-ב: אם לא קיים אסימון, שומרים אותו

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

המשתמש נכנס לחשבון שלו בתוך המשחק
חשבון

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

אסימון זיכרון של חנויות המפתח

תהליכי עבודה למשתמשים ללא פרופיל PGS

אפשר לשמור אסימוני Recall למשתמשים שלא יצר עדיין פרופיל PGS על ידי באמצעות מצב ללא פרופיל. עם זאת, יש שתי אזהרות חשובות:

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

אחסון צמד של אסימון ופרסונה

משתמש ללא פרופיל PGS פותח משחק

  1. משתמש ללא פרופיל PGS פותח משחק עם ריקול ללא פרופיל מופעל.
  2. ה-SDK של המשחקים מפעיל כניסה אוטומטית, שנכשלה כי המשתמש אין פרופיל PGS.
  3. בערכת ה-SDK של המשחקים מוצג סרגל אינטראקטיבי שמיידע את המשתמש שיש למשחק שילוב עם Google. סרגל אינטראקטיבי זה הוא פרקטי – המשתמש יכול להשבית אותו ריקול עד ליצירת פרופיל.
  4. המשחק מבקש גישה לריקול. חשוב לדעת ש-PGS דוחה בקשות גישה לריקול כשיש במכשיר פרופילים של Play Games Services או כשאין Google החשבונות במכשיר. במקרה כזה, המשחק צריך להמשיך בלי להשתמש Play Games Services.
  5. אחרי שהמשתמש מתחבר באמצעות חשבון בתוך המשחק, המשחק יוצר אסימון ו צמד פרסונה למשתמש שתואם לחשבון שלו בתוך המשחק. המשחק שומרת את הצמד הזה ב-Google. יכול להיות שיישמרו אסימונים נוספים בשלב מאוחר יותר אם מתחבר לחשבונות אחרים בתוך המשחק.

הפעלת משחק במכשיר חדש

  1. משתמש ללא פרופיל PGS פותח משחק שהופעל בו ריקול ללא פרופיל במכשיר.
  2. המשחק מתעד אסימון זיכרון ללא פרופיל, כפי שמתואר במאמר שמירת אסימון ופרסונה.
  3. המשתמש פותח את אותו משחק במכשיר אחר באותו חשבון הגדרה אישית.
  4. ה-SDK של המשחקים מפעיל יצירת פרופיל. המשתמש יכול לבדוק ולדחה אסימוני Recall הקיימים שנשמרו. המשתמש יוצר פרופיל ב-Play Games Services בשלב הזה.
  5. הכניסה האוטומטית ל-PGS מסתיימת והמשחק מקבל את בסטטוס מאומת.
  6. המשחק מאחזר אסימוני Recall למשתמשים כרגיל.

השלבים הבאים

כדי לשלב את Recall API עם שרת הלקוח ושרת המשחק, פועלים לפי ההוראות הבאות: במדריך ההטמעה.