Method: recall.linkPersona

اربط العنصر الرئيسي لمشغّل "خدمات ألعاب Play" المشفر في رقم تعريف جلسة الاستدعاء المقدَّم بحساب داخل اللعبة.

طلب 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

مطلوب. سلسلة معتمة ينشئها الخادم ترمّز جميع المعلومات اللازمة لتحديد مشغّل "خدمات ألعاب Play" / مستخدم Google وتطبيقها

persona

string

مطلوب. معرّف ثابت للحساب داخل اللعبة يُرجى عدم إعادة استخدام الشخصية نفسها في ألعاب مختلفة.

token

string

مطلوب. قيمة الرمز المميّز المطلوب إنشاؤه معتم في "ألعاب Play" ويُفترَض أن يكون غير مستقر (يتم تشفيره باستخدام تدوير المفتاح)

cardinalityConstraint

enum (RecallTokensCardinalityConstraint)

مطلوب. يشير ذلك المصطلح إلى قيد على عدد العناصر في الحقل يجب ملاحظته عند ربط شخصية بلاعب في نطاق لعبة.

حقل الاتحاد expiration. وقت أو وقت انتهاء صلاحية الرمز المميّز الاختياري يمكن أن يكون expiration واحدًا فقط مما يلي:
expireTime

string (Timestamp format)

الإدخال فقط. وقت انتهاء الصلاحية اختياري.

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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

يشير ذلك المصطلح إلى قيد على عدد العناصر في الحقل يجب ملاحظته عند ربط شخصية بلاعب في نطاق لعبة.

عمليات التعداد
ONE_PERSONA_TO_ONE_PLAYER

يشير ذلك إلى عدد العناصر في الحقل بين الشخصيات داخل اللعبة واللاعبين في "خدمات ألعاب Play".

بحلول نهاية عملية الربط، يجب أن يظل إدخال واحد فقط للاعب والشخصية في نطاق التطبيق.

يتم تحديد ما إذا تم إنشاء رابط جديد أم لا عند تحديد هذا القيد من خلال سياسة ConflictingLinksResolutionPolicy التي تم اختيارها:

  • إذا تم تحديد KEEP_EXISTING_LINKS وتم ربط الشخصية المقدَّمة بلاعب مختلف، أو إذا كان اللاعب مرتبطًا بشخصية مختلفة، لن يتم إنشاء رابط جديد وستبقى الروابط الحالية كما هي.

  • إذا تم تحديد CREATE_NEW_LINK وتم ربط الشخصية المقدَّمة بلاعب مختلف، أو إذا كان اللاعب مرتبطًا بشخصية أخرى، ستتم إزالة الروابط القديمة بدلاً من إنشاء الرابط الجديد.

ConflictingLinksResolutionPolicy

سياسة الحل التي تُطبَّق عندما يؤدي ربط الشخصية باللاعب إلى انتهاك قيد عدد العناصر في الحقل المحدّد

عمليات التعداد

الحالة

حالة محاولة ربط الشخصية.

عمليات التعداد
PERSONA_OR_PLAYER_ALREADY_LINKED لم يتم إنشاء الرابط المحدّد في الطلب لأنّ الروابط الحالية ستؤدي إلى انتهاك الرابط الجديد لسياسة RecallTokensCardinalityConstraint المحدّدة إذا تم إنشاؤه.