Method: gameStats.batchRecordEvents

특정 플레이어의 플레이어 게임 이벤트 일괄 기록 이 메서드를 사용하면 단일 요청으로 여러 이벤트를 전송할 수 있습니다.

HTTP 요청

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

경로 매개변수

매개변수
playerId

string

필수: 이벤트를 실행한 플레이어의 플레이어 ID입니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
필드
packageName

string

필수: 애플리케이션 패키지 이름 (예: 'com.example.game')

requestTime

string (Timestamp format)

필수: 이 특정 이벤트 일괄 처리가 제출된 클라이언트의 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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에서 0부터 시작하는 색인으로 키가 지정된 실패한 이벤트의 맵입니다. 생략된 키는 기록이 성공했음을 나타냅니다.

"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)

필수: 이 특정 이벤트가 실행된 클라이언트의 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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

double 값입니다.

stringValue

string

문자열 값입니다.

boolValue

boolean

부울 값

상태

Status 유형은 REST API, RPC API를 비롯하여 다양한 프로그래밍 환경에 적합한 논리적 오류 모델을 정의하며, gRPC에서 사용됩니다. 각 Status 메시지에는 오류 코드, 오류 메시지, 오류 세부정보라는 3가지 데이터가 포함됩니다.

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" }