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

مطلوب. معرّف فريد عالمي (UUID) فريد من إنشاء العميل لمثيل الحدث المحدّد هذا. يُستخدَم لضمان عدم تكرار العمليات وإزالة التكرار من جهة الخادم. سيتم تجاهل إرسال حدث يتضمّن 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" }.