Method: gameStats.batchRecordEvents

تسجِّل هذه الطريقة دفعة من أحداث لعبة اللاعب لمشغّل معيّن. وتسمح بإرسال أحداث متعدّدة في طلب واحد.

طلب HTTP

POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents

مَعلمات المسار

المعلَمات
playerId

string

مطلوب: رقم تعريف اللاعب الذي نفّذ الأحداث.

نص الطلب

يتضمّن نص الطلب بيانات بالبنية التالية:

تمثيل JSON
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
الحقول
packageName

string

مطلوب: اسم حزمة التطبيق (مثل "com.example.game")

requestTime

string (Timestamp format)

مطلوب: الوقت الذي تم فيه إرسال هذه الدفعة المحدّدة من الأحداث من العميل

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z"، "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

events[]

object (PlayerGameEvent)

مطلوب: قائمة بأحداث لعبة اللاعب المطلوب تسجيلها يمكن إرسال 30 حدثًا كحد أقصى لكل طلب دفعة.

نص الاستجابة

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

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
الحقول
failedRequests

map (key: integer, value: object (Status))

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

كائن يحتوي على قائمة بأزواج "key": value مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }

نطاقات الأذونات

يجب توفير أحد نطاقات OAuth التالية:

  • https://www.googleapis.com/auth/games
  • https://www.googleapis.com/auth/games_lite

لمزيد من المعلومات، يُرجى الاطّلاع على OAuth 2.0 Overview.

PlayerGameEvent

يمثّل هذا النوع حدثًا واحدًا من أحداث لعبة اللاعب التي يتم تشغيلها من خلال حدث لاعب في لعبة. وقد يكون هذا الحدث هو إكمال مستوى أو فتح مادة أو إنهاء مباراة.

تمثيل JSON
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
الحقول
eventId

string

مطلوب: رقم تعريف فريد تم إنشاؤه من قِبل العميل لمثيل الحدث المحدّد هذا يُستخدَم هذا الرقم لضمان عدم تكرار الأحداث من جهة الخادم وإزالة الأحداث المكرّرة. سيتم تجاهل إرسال حدث يتضمّن eventId سبق تسجيله للاعب نفسه.

eventName

string

مطلوب: اسم الحدث الذي يحدّده العميل (مثل "run_completed" أو "level_up") الحد الأقصى للطول: 100 حرف

eventProperties

map (key: string, value: object (PropertyValue))

اختياري: خصائص تتضمّن قيمًا تقدّم تفاصيل عن الحدث - الحد الأقصى لعدد الخصائص: 25 - الحد الأقصى لطول مفتاح الخاصية: 100 حرف - الحد الأقصى لطول القيم النصية ضمن PropertyValue: 1024 حرفًا

كائن يحتوي على قائمة بأزواج "key": value مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }

eventTime

string (Timestamp format)

مطلوب: الوقت الذي تم فيه تنفيذ هذا الحدث المحدّد من العميل

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z"، "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

PropertyValue

هذا النوع هو غلاف للقيمة.

تمثيل JSON
{

  // Union field value can be only one of the following:
  "intValue": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  // End of list of possible types for union field value.
}
الحقول
حقل الربط value قيمة العدد لا يمكن أن يكون value إلا أحد الخيارات التالية:
intValue

string (int64 format)

قيمة عدد صحيح

doubleValue

number

قيمة مزدوجة

stringValue

string

قيمة سلسلة

boolValue

boolean

قيمة منطقية

الحالة

يحدّد نوع Status نموذجًا منطقيًا للتعامل مع الأخطاء، يناسب بيئات البرمجة المختلفة مثل REST API وRPC API. كما يُستخدم في gRPC. تتكون كل رسالة Status من ثلاثة أجزاء من البيانات، هي رمز الخطأ ورسالته وتفاصيله.

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

تمثيل JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
الحقول
code

integer

رمز الحالة، ويجب أن يكون قيمة محدّدة مسبقًا من google.rpc.Code

message

string

يشير إلى رسالة خطأ موجّهة للمطوّرين، ويجب أن تكون الرسالة بالإنجليزية. أما رسائل الخطأ الموجّهة للمستخدمين، فيجب ترجمتها وإرسالها في حقل google.rpc.Status.details أو ترجمتها من قِبل العميل.

details[]

object

يشير إلى قائمة بالرسائل التي تتضمّن تفاصيل الخطأ. تتوفّر مجموعة شائعة من أنواع الرسائل التي يمكن لواجهات برمجة التطبيقات استخدامها.

هو كائن يحتوي على حقول من أي نوع. يتضمّن حقل إضافي "@type" معرف موارد منتظم (URI) يحدّد نوع الكائن. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }.