Method: recall.linkPersona

שיוך חשבון המשתמש של הנגן ב-PGS שמקודד במזהה סשן הריקול שסופק לחשבון מתוך המשחק

בקשת HTTP

POST https://games.googleapis.com/games/v1/recall:linkPersona

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "sessionId": string,
  "persona": string,
  "token": string,
  "cardinalityConstraint": enum (RecallTokensCardinalityConstraint),
  "conflictingLinksResolutionPolicy": enum (ConflictingLinksResolutionPolicy),

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
שדות
sessionId

string

חובה. מחרוזת אטומה שנוצרה על ידי השרת שמקודדת את כל המידע הנדרש לזיהוי הנגן של PGS / המשתמש של Google והאפליקציה.

persona

string

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

token

string

חובה. הערך של האסימון ליצירה. אטומים ל-Play Games ו מניחים שהם לא יציבים (מוצפנים עם רוטציית מפתחות).

cardinalityConstraint

enum (RecallTokensCardinalityConstraint)

חובה. מגבלת עוצמה (cardinality) שיש לשים לב אליה כשמקשרים פרסונה לשחקן שנכלל במשחק.

שדה איחוד expiration. זמן תפוגה או משך חיים של אסימון (אופציונלי). expiration יכול להיות רק אחת מהאפשרויות הבאות:
expireTime

string (Timestamp format)

קלט בלבד. זמן תפוגה אופציונלי.

חותמת זמן ב-RFC3339 UTC 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

קלט בלבד. אורך חיים (TTL) אופציונלי.

משך זמן בשניות עם עד תשע ספרות עשרוניות, שמסתיים ב-'s'. לדוגמה: "3.5s".

גוף התשובה

התוצאה של ניסיון לקישור פרסונה.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

ייצוג JSON
{
  "state": enum (State)
}
שדות
state

enum (State)

פלט בלבד. המצב של ניסיון קישור הפרסונה.

היקפי ההרשאות

נדרש היקף ההרשאות הבא של OAuth:

  • https://www.googleapis.com/auth/androidpublisher

למידע נוסף, קראו את המאמר סקירה כללית של OAuth 2.0.

RecallTokensCardinalityConstraint

מגבלת עוצמה (cardinality) שיש לשים לב אליה כשמקשרים פרסונה לשחקן שנכלל במשחק.

טיפוסים בני מנייה (enum)
ONE_PERSONA_TO_ONE_PLAYER

עוצמה של 1:1 בין פרסונות בתוך המשחק לבין שחקנים ב-Play Games Services.

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

המערכת קובעת אם קישור חדש ייווצר או לא כשהאילוץ הזה יצוין לפי ConflictingLinksResolutionPolicy שנבחר:

  • אם ציינתם KEEP_EXISTING_LINKS והפרסונה שצוינה כבר מקושרת לשחקן אחר, או שהנגן כבר מקושר לפרסונה אחרת, לא ייווצר קישור חדש והקישורים הקיימים יישארו כפי שהם.

  • אם ציינתם CREATE_NEW_LINK והפרסונה שסיפקתם כבר מקושרת לשחקן אחר, או שהנגן כבר מקושר לפרסונה אחרת, הקישורים הישנים יוסרו לטובת הקישור החדש שייווצר.

ConflictingLinksResolutionPolicy

מדיניות הפתרון שתחול כאשר קישור פרסונה לשחקן יגרום להפרה של מגבלת העוצמה (cardinality) שצוינה.

טיפוסים בני מנייה (enum)

מדינה

המצב של ניסיון קישור הפרסונה.

טיפוסים בני מנייה (enum)
PERSONA_OR_PLAYER_ALREADY_LINKED הקישור שצוין בבקשה לא נוצר כי קישורים קיימים יגרמו להפרה של RecallTokensCardinalityConstraint שציינת בקישור החדש.