เอกสารนี้อธิบายวิธีใช้สถิติเกมของบริการเกมของ Google Play ในเกม C++ เอกสารนี้ถือว่าคุณได้ตั้งค่าโปรเจ็กต์ตามที่อธิบายไว้ใน ตั้งค่า
บริการเกมของ Google Play แล้ว คุณสามารถดู Game Stats API ได้ใน
PgsGameStatsClient
ก่อนเริ่มต้น
หากยังไม่ได้ดำเนินการ คุณอาจพบว่าการตรวจสอบแนวคิดเกี่ยวกับสถิติเกมของ Game Stats มีประโยชน์
ก่อนเริ่มเขียนโค้ดโดยใช้ Game Stats API ให้ทำดังนี้
ทำตามวิธีการติดตั้งและตั้งค่าแอปให้ใช้ บริการเกมของ Play ใน คู่มือตั้งค่าบริการเกมของ Google Play
กำหนดสถิติเกมที่ต้องการให้เกมมี โดย ทำตามวิธีการในคู่มือ Google Play Console
รับไคลเอ็นต์สถิติเกม
หากต้องการเริ่มใช้ API รางวัลพิเศษ เกมของคุณต้องได้รับ
PgsGameStatsClient
ออบเจ็กต์ก่อน คุณทำได้โดยการเรียกใช้
PgsPlayerGameEvent_create
เมธอดและส่งกิจกรรม
การผสานรวมฝั่งไคลเอ็นต์
การผสานรวมฝั่งไคลเอ็นต์สำหรับ PlayerGameEvent จะเกี่ยวข้องกับการสร้าง
ออบเจ็กต์เหตุการณ์ใน C++ SDK ที่จุดทริกเกอร์ และ
ส่งออบเจ็กต์ดังกล่าวโดยใช้ฟังก์ชันการอัปโหลดที่ SDK มีให้
ในทำนองเดียวกัน สำหรับเหตุการณ์ progressUpdate ให้บันทึกความคืบหน้าที่อัปเดตโดยใช้พร็อพเพอร์ตี้ currentProgress พร้อมพร็อพเพอร์ตี้เพิ่มเติมที่กำหนดไว้ และส่งพร็อพเพอร์ตี้เหล่านั้นโดยใช้ฟังก์ชันการอัปโหลดที่ SDK มีให้
กิจกรรม
การผสานรวมฝั่งไคลเอ็นต์สำหรับ PlayerGameEvent มีดังนี้
สร้างเหตุการณ์เกมของผู้เล่น
C++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
สร้างเหตุการณ์เกมของผู้เล่น progressUpdate
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
บันทึกและอัปโหลดเหตุการณ์
C++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);