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 "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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" من حيث عدد العناصر في الحقل 1:1

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

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

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

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

ConflictingLinksResolutionPolicy

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

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

الحالة

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

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