- درخواست HTTP
- پارامترهای مسیر
- درخواست بدنه
- بدنه پاسخ
- دامنههای مجوز
- رویداد بازی بازیکن
- ارزش ملک
- وضعیت
- امتحانش کن!
مجموعهای از رویدادهای بازی بازیکن را برای یک بازیکن خاص ثبت میکند. این روش امکان ارسال چندین رویداد را در یک درخواست واحد فراهم میکند.
درخواست 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-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
events[] | الزامی: فهرستی از رویدادهای بازی بازیکنان که باید ثبت شوند. حداکثر ۳۰ رویداد در هر درخواست دستهای. |
بدنه پاسخ
یک پاسخ موفقیتآمیز نشان میدهد که دسته رویدادها پردازش شدهاند.
در صورت موفقیت، بدنه پاسخ شامل دادههایی با ساختار زیر است:
| نمایش JSON |
|---|
{
"failedRequests": {
integer: {
object ( |
| فیلدها | |
|---|---|
failedRequests | نقشه رویدادهای ناموفق، که با شاخص مبتنی بر صفر آنها در یک شیء شامل لیستی از جفتهای |
دامنههای مجوز
به یکی از حوزههای 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 ( |
| فیلدها | |
|---|---|
eventId | الزامی: یک UUID منحصر به فرد تولید شده توسط کلاینت برای این نمونه رویداد خاص. برای قابلیت خودتوانی و حذف دادههای تکراری در سمت سرور استفاده میشود. ارسال رویدادی با eventId ثبت شده قبلی برای همان بازیکن نادیده گرفته خواهد شد. |
eventName | الزامی: نام رویداد تعریفشده توسط کلاینت (مثلاً "run_completed"، "level_up"). حداکثر طول: ۱۰۰ کاراکتر. |
eventProperties | اختیاری: ویژگیهای کلید-مقدار که جزئیاتی در مورد رویداد ارائه میدهند. - حداکثر تعداد ویژگیها: ۲۵. - حداکثر طول کلید ویژگی: ۱۰۰ کاراکتر. - حداکثر طول مقادیر رشتهای درون PropertyValue: ۱۰۲۴ کاراکتر. یک شیء شامل لیستی از جفتهای |
eventTime | الزامی: زمان انجام این رویداد خاص از طرف کلاینت. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
ارزش ملک
بستهبندی برای مقدار.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
value فیلد Union. مقدار اسکالر. value میتواند فقط یکی از موارد زیر باشد: | |
intValue | یک مقدار عدد صحیح. |
doubleValue | یک ارزش مضاعف. |
stringValue | یک مقدار رشتهای. |
boolValue | یک مقدار بولی. |
وضعیت
نوع Status یک مدل خطای منطقی را تعریف میکند که برای محیطهای برنامهنویسی مختلف، از جمله REST APIها و RPC APIها، مناسب است. این مدل توسط gRPC استفاده میشود. هر پیام Status شامل سه بخش داده است: کد خطا، پیام خطا و جزئیات خطا.
میتوانید اطلاعات بیشتری در مورد این مدل خطا و نحوه کار با آن را در راهنمای طراحی API بیابید.
| نمایش JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| فیلدها | |
|---|---|
code | کد وضعیت، که باید یک مقدار شمارشی از |
message | یک پیام خطای مربوط به توسعهدهنده که باید به زبان انگلیسی باشد. هرگونه پیام خطای مربوط به کاربر باید بومیسازی شده و در فیلد |
details[] | فهرستی از پیامهایی که جزئیات خطا را در خود دارند. مجموعهای مشترک از انواع پیامها برای استفاده توسط APIها وجود دارد. یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی |