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-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده می‌کند. آفست‌های غیر از "Z" نیز پذیرفته می‌شوند. مثال‌ها: "2014-10-02T15:01:23Z" ، "2014-10-02T15:01:23.045123456Z" یا "2014-10-02T15:01:23+05:30" .

events[]

object ( PlayerGameEvent )

الزامی: فهرستی از رویدادهای بازی بازیکنان که باید ثبت شوند. حداکثر ۳۰ رویداد در هر درخواست دسته‌ای.

بدنه پاسخ

یک پاسخ موفقیت‌آمیز نشان می‌دهد که دسته رویدادها پردازش شده‌اند.

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

نمایش 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 .

رویداد بازی بازیکن

نمایشی از یک رویداد بازی تک‌نفره که توسط رویداد یک بازیکن در بازی آغاز می‌شود. این رویداد می‌تواند کامل کردن یک مرحله، باز کردن قفل یک آیتم یا تمام کردن یک مسابقه باشد.

نمایش JSON
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
فیلدها
eventId

string

الزامی: یک UUID منحصر به فرد تولید شده توسط کلاینت برای این نمونه رویداد خاص. برای قابلیت خودتوانی و حذف داده‌های تکراری در سمت سرور استفاده می‌شود. ارسال رویدادی با eventId ثبت شده قبلی برای همان بازیکن نادیده گرفته خواهد شد.

eventName

string

الزامی: نام رویداد تعریف‌شده توسط کلاینت (مثلاً "run_completed"، "level_up"). حداکثر طول: ۱۰۰ کاراکتر.

eventProperties

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

اختیاری: ویژگی‌های کلید-مقدار که جزئیاتی در مورد رویداد ارائه می‌دهند. - حداکثر تعداد ویژگی‌ها: ۲۵. - حداکثر طول کلید ویژگی: ۱۰۰ کاراکتر. - حداکثر طول مقادیر رشته‌ای درون PropertyValue: ۱۰۲۴ کاراکتر.

یک شیء شامل لیستی از جفت‌های "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

eventTime

string ( Timestamp format)

الزامی: زمان انجام این رویداد خاص از طرف کلاینت.

از RFC 3339 استفاده می‌کند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده می‌کند. آفست‌های غیر از "Z" نیز پذیرفته می‌شوند. مثال‌ها: "2014-10-02T15:01:23Z" ، "2014-10-02T15:01:23.045123456Z" یا "2014-10-02T15:01:23+05:30" .

ارزش ملک

بسته‌بندی برای مقدار.

نمایش 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 فیلد Union. مقدار اسکالر. value می‌تواند فقط یکی از موارد زیر باشد:
intValue

string ( int64 format)

یک مقدار عدد صحیح.

doubleValue

number

یک ارزش مضاعف.

stringValue

string

یک مقدار رشته‌ای.

boolValue

boolean

یک مقدار بولی.

وضعیت

نوع Status یک مدل خطای منطقی را تعریف می‌کند که برای محیط‌های برنامه‌نویسی مختلف، از جمله REST APIها و RPC APIها، مناسب است. این مدل توسط gRPC استفاده می‌شود. هر پیام Status شامل سه بخش داده است: کد خطا، پیام خطا و جزئیات خطا.

می‌توانید اطلاعات بیشتری در مورد این مدل خطا و نحوه کار با آن را در راهنمای طراحی API بیابید.

نمایش JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
فیلدها
code

integer

کد وضعیت، که باید یک مقدار شمارشی از google.rpc.Code باشد.

message

string

یک پیام خطای مربوط به توسعه‌دهنده که باید به زبان انگلیسی باشد. هرگونه پیام خطای مربوط به کاربر باید بومی‌سازی شده و در فیلد google.rpc.Status.details ارسال شود، یا توسط کلاینت بومی‌سازی شود.

details[]

object

فهرستی از پیام‌هایی که جزئیات خطا را در خود دارند. مجموعه‌ای مشترک از انواع پیام‌ها برای استفاده توسط APIها وجود دارد.

یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type" حاوی یک URI است که نوع را مشخص می‌کند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" } .