# Google Play Games Services API . gameStats

## Instance Methods

Records a batch of player game events for a specific player. This method allows sending multiple events in a single request.

Close httplib2 connections.

### Method Details

`batchRecordEvents(playerId, body=None, x__xgafv=None)`

    Records a batch of player game events for a specific player. This method allows sending multiple events in a single request.

    Args:
      playerId: string, Required. The player ID of the player that performed the events. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for PlayerGameEvents.BatchRecordEvents Next ID: 7
      "droidGuardBlob": "A String", # Optional. The DroidGuard blob generated by the client. This is used to detect abuse signals from the devices
      "events": [ # Required. A list of player game events to be recorded. Maximum of 30 events per batch request.
        { # A representation of a single player game event triggered by a player's event in a game. This might be completing a level, unlocking an item, or finishing a match.
          "eventId": "A String", # Required. A unique client-generated UUID for this specific event instance. Used for server-side idempotency and deduplication. Submitting an event with a previously recorded event_id for the same player will be ignored.
          "eventName": "A String", # Required. Client-defined name of the event (e.g., "run_completed", "level_up"). Maximum length: 100 characters.
          "eventProperties": { # Optional. Key-value properties providing details about the event. - Maximum number of properties: 25. - Property key maximum length: 100 characters. - String values within PropertyValue maximum length: 1024 characters.
            "a_key": { # Wrapper for the value.
              "boolValue": True or False, # A boolean value.
              "doubleValue": 3.14, # A double value.
              "durationValue": "A String", # A duration value.
              "intValue": "A String", # An integer value.
              "stringValue": "A String", # A string value.
              "timestampValue": "A String", # A timestamp value.
            },
          },
          "eventTime": "A String", # Required. The time from the client when this specific event was performed.
        },
      ],
      "packageName": "A String", # Required. Application package name (e.g., "com.example.game").
      "requestTime": "A String", # Required. The time from the client when this specific batch of events was submitted.
      "salt": "A String", # Optional. The salt used to generate content binding for the DroidGuard blob. This is used to prevent replay attacks.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A successful response indicates that the batch of events has been processed.
      "failedRequests": { # Map of failed events, keyed by their zero-based index in `BatchRecordEventsRequest.events`. Omitted keys indicate successful recording.
        "a_key": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
        },
      },
    }

`close()`

    Close httplib2 connections.