Method: recall.linkPersona

दिए गए रीकॉल सेशन आईडी में, कोड में बदले गए PGS प्लेयर के मुख्य खाते को गेम में मौजूद खाते से जोड़ें

एचटीटीपी अनुरोध

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)

ज़रूरी है. गेम के स्कोप वाले पर्सोना को खिलाड़ी से जोड़ते समय, एलिमेंट की संख्या का पता चलता है.

यूनियन फ़ील्ड expiration. टोकन के खत्म होने की वैकल्पिक अवधि या उसे बनाए रखने की अवधि. expiration इनमें से सिर्फ़ एक हो सकता है:
expireTime

string (Timestamp format)

सिर्फ़ इनपुट. समयसीमा खत्म होने की वैकल्पिक अवधि.

आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

सिर्फ़ इनपुट. टाइम-टू-लाइव होना ज़रूरी नहीं है.

सेकंड में कुल नौ दशमलव अंक, जो 's' पर खत्म होते हैं. उदाहरण: "3.5s".

जवाब का मुख्य भाग

पर्सोना लिंक करने की कोशिश का नतीजा.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

JSON के काेड में दिखाना
{
  "state": enum (State)
}
फ़ील्ड
state

enum (State)

सिर्फ़ आउटपुट के लिए. पर्सोना लिंक करने की कोशिश की स्थिति.

अनुमति के दायरे

नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:

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

ज़्यादा जानकारी के लिए, OAuth 2.0 की खास जानकारी देखें.

RecallTokensCardinalityConstraint

गेम के स्कोप वाले पर्सोना को खिलाड़ी से जोड़ते समय, एलिमेंट की संख्या का पता चलता है.

Enums
ONE_PERSONA_TO_ONE_PLAYER

इन-गेम पर्सोना और Play की गेम सेवाओं के खिलाड़ियों के बीच, एलिमेंट की संख्या 1:1 है.

लिंक करने की कार्रवाई के खत्म होने तक, ऐप्लिकेशन के स्कोप में प्लेयर और पर्सोना के लिए सिर्फ़ एक एंट्री रहनी चाहिए.

इस कंस्ट्रेंट के बताए जाने पर, नया लिंक बनाया जाता है या नहीं, यह चुने गए ConflictingLinksResolutionPolicy से तय होता है:

  • अगर KEEP_EXISTING_LINKS तय किया गया है और दिया गया पर्सोना पहले से ही किसी दूसरे प्लेयर से लिंक है या प्लेयर पहले से ही किसी दूसरे पर्सोना से लिंक है, तो कोई नया लिंक नहीं बनाया जाएगा. साथ ही, पहले से मौजूद लिंक पहले जैसे ही रहेंगे.

  • अगर CREATE_NEW_LINK तय किया गया है और दिया गया पर्सोना पहले से ही किसी दूसरे प्लेयर से लिंक है या प्लेयर पहले से ही किसी दूसरे पर्सोना से लिंक है, तो नया लिंक बनाए जाने के लिए पुराने लिंक हटा दिए जाएंगे.

ConflictingLinksResolutionPolicy

जब किसी पर्सोना को किसी प्लेयर से लिंक करने की वजह से, एलिमेंट की तय संख्या से जुड़ी समस्या का उल्लंघन होता है, तो समाधान से जुड़ी नीति लागू होती है.

Enums

स्थिति

पर्सोना लिंक करने की कोशिश की स्थिति.

Enums
PERSONA_OR_PLAYER_ALREADY_LINKED अनुरोध में बताया गया लिंक नहीं बनाया गया. इसकी वजह यह है कि पहले से मौजूद लिंक की वजह से नया लिंक, तय RecallTokensCardinalityConstraint का उल्लंघन करेगा.