- طلب HTTP
- مَعلمات المسار
- نص الطلب
- نص الاستجابة
- نطاقات الأذونات
- PlayerGameEvent
- PropertyValue
- الحالة
- جرِّبه الآن
تسجِّل هذه الطريقة دفعة من أحداث لعبة اللاعب لمشغّل معيّن. وتسمح بإرسال أحداث متعدّدة في طلب واحد.
طلب HTTP
POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents
مَعلمات المسار
| المعلَمات | |
|---|---|
playerId |
مطلوب: رقم تعريف اللاعب الذي نفّذ الأحداث. |
نص الطلب
يتضمّن نص الطلب بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{
"packageName": string,
"requestTime": string,
"events": [
{
object ( |
| الحقول | |
|---|---|
packageName |
مطلوب: اسم حزمة التطبيق (مثل "com.example.game") |
requestTime |
مطلوب: الوقت الذي تم فيه إرسال هذه الدفعة المحدّدة من الأحداث من العميل يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
events[] |
مطلوب: قائمة بأحداث لعبة اللاعب المطلوب تسجيلها يمكن إرسال 30 حدثًا كحد أقصى لكل طلب دفعة. |
نص الاستجابة
تشير الاستجابة الناجحة إلى أنّه تمت معالجة دفعة الأحداث.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{
"failedRequests": {
integer: {
object ( |
| الحقول | |
|---|---|
failedRequests |
خريطة للأحداث التي تعذّر تسجيلها، مفهرسة حسب الفهرس المستند إلى الصفر في كائن يحتوي على قائمة بأزواج |
نطاقات الأذونات
يجب توفير أحد نطاقات OAuth التالية:
https://www.googleapis.com/auth/gameshttps://www.googleapis.com/auth/games_lite
لمزيد من المعلومات، يُرجى الاطّلاع على OAuth 2.0 Overview.
PlayerGameEvent
يمثّل هذا النوع حدثًا واحدًا من أحداث لعبة اللاعب التي يتم تشغيلها من خلال حدث لاعب في لعبة. وقد يكون هذا الحدث هو إكمال مستوى أو فتح مادة أو إنهاء مباراة.
| تمثيل JSON |
|---|
{
"eventId": string,
"eventName": string,
"eventProperties": {
string: {
object ( |
| الحقول | |
|---|---|
eventId |
مطلوب: رقم تعريف فريد تم إنشاؤه من قِبل العميل لمثيل الحدث المحدّد هذا يُستخدَم هذا الرقم لضمان عدم تكرار الأحداث من جهة الخادم وإزالة الأحداث المكرّرة. سيتم تجاهل إرسال حدث يتضمّن eventId سبق تسجيله للاعب نفسه. |
eventName |
مطلوب: اسم الحدث الذي يحدّده العميل (مثل "run_completed" أو "level_up") الحد الأقصى للطول: 100 حرف |
eventProperties |
اختياري: خصائص تتضمّن قيمًا تقدّم تفاصيل عن الحدث - الحد الأقصى لعدد الخصائص: 25 - الحد الأقصى لطول مفتاح الخاصية: 100 حرف - الحد الأقصى لطول القيم النصية ضمن PropertyValue: 1024 حرفًا كائن يحتوي على قائمة بأزواج |
eventTime |
مطلوب: الوقت الذي تم فيه تنفيذ هذا الحدث المحدّد من العميل يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
PropertyValue
هذا النوع هو غلاف للقيمة.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط value قيمة العدد لا يمكن أن يكون value إلا أحد الخيارات التالية: |
|
intValue |
قيمة عدد صحيح |
doubleValue |
قيمة مزدوجة |
stringValue |
قيمة سلسلة |
boolValue |
قيمة منطقية |
الحالة
يحدّد نوع Status نموذجًا منطقيًا للتعامل مع الأخطاء، يناسب بيئات البرمجة المختلفة مثل REST API وRPC API. كما يُستخدم في gRPC. تتكون كل رسالة Status من ثلاثة أجزاء من البيانات، هي رمز الخطأ ورسالته وتفاصيله.
يمكنك التعرّف على المزيد حول نموذج الخطأ هذا وكيفية التعامل معه في دليل تصميم واجهة برمجة التطبيقات.
| تمثيل JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| الحقول | |
|---|---|
code |
رمز الحالة، ويجب أن يكون قيمة محدّدة مسبقًا من |
message |
يشير إلى رسالة خطأ موجّهة للمطوّرين، ويجب أن تكون الرسالة بالإنجليزية. أما رسائل الخطأ الموجّهة للمستخدمين، فيجب ترجمتها وإرسالها في حقل |
details[] |
يشير إلى قائمة بالرسائل التي تتضمّن تفاصيل الخطأ. تتوفّر مجموعة شائعة من أنواع الرسائل التي يمكن لواجهات برمجة التطبيقات استخدامها. هو كائن يحتوي على حقول من أي نوع. يتضمّن حقل إضافي |