- คำขอ HTTP
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- PlayerGameEvent
- PropertyValue
- สถานะ
- ลองใช้งาน
บันทึกเหตุการณ์เกมของผู้เล่นเป็นกลุ่มสำหรับผู้เล่นที่เฉพาะเจาะจง วิธีนี้ช่วยให้ส่งเหตุการณ์หลายรายการได้ในคำขอเดียว
คำขอ 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 เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่าง: |
events[] |
ต้องระบุ: รายการเหตุการณ์เกมของผู้เล่นที่จะบันทึก เหตุการณ์สูงสุด 30 รายการต่อคำขอแบบกลุ่ม |
เนื้อหาการตอบกลับ
การตอบกลับที่สำเร็จจะบ่งบอกว่าระบบได้ประมวลผลเหตุการณ์แบบกลุ่มแล้ว
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{
"failedRequests": {
integer: {
object ( |
| ทุ่ง | |
|---|---|
failedRequests |
แผนผังของเหตุการณ์ที่ล้มเหลว โดยใช้ดัชนีที่อิงตาม 0 ใน ออบเจ็กต์ที่มีรายการคู่ |
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้
https://www.googleapis.com/auth/gameshttps://www.googleapis.com/auth/games_lite
ดูข้อมูลเพิ่มเติมได้ที่ OAuth 2.0 Overview.
PlayerGameEvent
การแสดงเหตุการณ์เกมของผู้เล่นคนเดียวที่ทริกเกอร์โดยเหตุการณ์ของผู้เล่นในเกม ซึ่งอาจเป็นการผ่านด่าน ปลดล็อกไอเทม หรือจบแมตช์
| การแสดง JSON |
|---|
{
"eventId": string,
"eventName": string,
"eventProperties": {
string: {
object ( |
| ทุ่ง | |
|---|---|
eventId |
ต้องระบุ: UUID ที่ไม่ซ้ำกันซึ่งไคลเอ็นต์สร้างขึ้นสำหรับอินสแตนซ์เหตุการณ์ที่เฉพาะเจาะจงนี้ ใช้สำหรับการทำซ้ำได้และการกรองข้อมูลที่ซ้ำกันออกฝั่งเซิร์ฟเวอร์ ระบบจะละเว้นการส่งเหตุการณ์ที่มี eventId ที่บันทึกไว้ก่อนหน้านี้สำหรับผู้เล่นคนเดียวกัน |
eventName |
ต้องระบุ: ชื่อเหตุการณ์ที่ไคลเอ็นต์กำหนด (เช่น "run_completed", "level_up") จำกัดความยาวสูงสุด 100 อักขระ |
eventProperties |
ไม่บังคับ: พร็อพเพอร์ตี้แบบคีย์-ค่าที่ให้รายละเอียดเกี่ยวกับเหตุการณ์ - จำนวนพร็อพเพอร์ตี้สูงสุด: 25 - ความยาวสูงสุดของคีย์พร็อพเพอร์ตี้: 100 อักขระ - ความยาวสูงสุดของค่าสตริงภายใน PropertyValue: 1024 อักขระ ออบเจ็กต์ที่มีรายการคู่ |
eventTime |
ต้องระบุ: เวลาจากไคลเอ็นต์เมื่อมีการทำเหตุการณ์ที่เฉพาะเจาะจงนี้ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่าง: |
PropertyValue
Wrapper สำหรับค่า
| การแสดง JSON |
|---|
{ // Union field |
| ทุ่ง | |
|---|---|
ฟิลด์ Union value ค่าของสเกลาร์ value จะเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
intValue |
ค่าจำนวนเต็ม |
doubleValue |
ค่า Double |
stringValue |
ค่าสตริง |
boolValue |
ค่าบูลีน |
สถานะ
ประเภท Status จะกำหนดรูปแบบข้อผิดพลาดเชิงตรรกะที่เหมาะกับสภาพแวดล้อมการเขียนโปรแกรมต่างๆ รวมถึง REST API และ RPC API โดย gRPC จะใช้พอร์ตนี้ ข้อความ Status แต่ละข้อความจะมีข้อมูล 3 ส่วน ได้แก่ รหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาด และรายละเอียดข้อผิดพลาด
ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบข้อผิดพลาดนี้และวิธีใช้งานได้ในคู่มือการออกแบบ API
| การแสดง JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| ทุ่ง | |
|---|---|
code |
รหัสสถานะซึ่งควรเป็นค่า enum ของ |
message |
ข้อความแสดงข้อผิดพลาดที่ส่งถึงนักพัฒนาแอป ซึ่งควรเป็นภาษาอังกฤษ ข้อความแสดงข้อผิดพลาดที่ผู้ใช้เห็นควรได้รับการแปลและส่งในช่อง |
details[] |
รายการข้อความที่มีรายละเอียดข้อผิดพลาด API มีชุดประเภทข้อความทั่วไปให้ใช้ ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม |