Method: gameStats.batchRecordEvents

Belirli bir oyuncu için bir grup oyuncu oyunu etkinliğini kaydeder. Bu yöntem, tek bir istekte birden fazla etkinlik göndermeye olanak tanır.

HTTP isteği

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

Yol parametreleri

Parametreler
playerId

string

Zorunlu: Etkinlikleri gerçekleştiren oyuncunun oyuncu kimliği.

İstek gövdesi

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Alanlar
packageName

string

Zorunlu: Uygulama paketi adı (ör. "com.example.game").

requestTime

string (Timestamp format)

Zorunlu: Bu belirli etkinlik grubu gönderildiğinde istemcideki saat.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Gerekli: Kaydedilecek oyuncu oyunu etkinliklerinin listesi. Toplu istek başına en fazla 30 etkinlik.

Yanıt gövdesi

Başarılı bir yanıt, etkinlik grubunun işlendiğini gösterir.

Başarılı olursa yanıt gövdesi aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Alanlar
failedRequests

map (key: integer, value: object (Status))

BatchRecordEventsRequest.events içindeki sıfır tabanlı dizinlerine göre anahtarlanmış, başarısız etkinliklerin haritası. Atlanan tuşlar, kaydın başarılı olduğunu gösterir.

"key": value çiftlerinin listesini içeren bir nesne. Örnek: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/games
  • https://www.googleapis.com/auth/games_lite

Daha fazla bilgi için OAuth 2.0 Overview sayfasına bakın.

PlayerGameEvent

Bir oyuncunun oyundaki etkinliği tarafından tetiklenen tek oyunculu oyun etkinliğinin temsili. Örneğin, bir seviyeyi tamamlamak, bir öğenin kilidini açmak veya bir maçı bitirmek.

JSON gösterimi
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Alanlar
eventId

string

Zorunlu: Bu belirli etkinlik örneği için istemci tarafından oluşturulan benzersiz bir UUID. Sunucu tarafında tekilleştirme ve tekilleştirme için kullanılır. Aynı oyuncu için daha önce kaydedilmiş bir eventId ile etkinlik gönderme işlemi yok sayılır.

eventName

string

Zorunlu: Etkinliğin müşteri tarafından tanımlanan adı (ör. "run_completed", "level_up"). Maksimum uzunluk: 100 karakter.

eventProperties

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

İsteğe bağlı: Etkinlikle ilgili ayrıntılar sağlayan anahtar/değer özellikleri. - Maksimum mülk sayısı: 25. - Özellik anahtarının maksimum uzunluğu: 100 karakter. - PropertyValue içindeki dize değerlerinin maksimum uzunluğu: 1.024 karakter.

"key": value çiftlerinin listesini içeren bir nesne. Örnek: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Zorunlu: Bu etkinliğin istemcide gerçekleştirildiği zaman.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

PropertyValue

Değer için sarmalayıcı.

JSON gösterimi
{

  // 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.
}
Alanlar
Birleştirme alanı value. Skalerin değeri. value aşağıdakilerden yalnızca biri olabilir:
intValue

string (int64 format)

Tam sayı değeri.

doubleValue

number

Çift değer.

stringValue

string

Dize değeri.

boolValue

boolean

Boole değeri.

Durum

Status türü, REST API'ler ve RPC API'ler dahil olmak üzere farklı programlama ortamlarına uygun mantıksal bir hata modeli tanımlar. gRPC tarafından kullanılır. Her Status mesajı; hata kodu, hata mesajı ve hata ayrıntıları olmak üzere üç veri içerir.

Bu hata modeli ve nasıl kullanılacağı hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.

JSON gösterimi
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Alanlar
code

integer

Durum kodu, google.rpc.Code enum değeri olmalıdır.

message

string

Geliştiriciye yönelik hata mesajı (İngilizce olmalıdır). Kullanıcıya gösterilen tüm hata mesajları yerelleştirilmiş olup google.rpc.Status.details alanında gönderilmeli veya istemci tarafından yerelleştirilmelidir.

details[]

object

Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği ortak bir mesaj türleri kümesi vardır.

Herhangi türde alanlar içeren bir nesne. Ek bir "@type" alanı, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.