เพิ่มกิจกรรมในเกม

คู่มือนี้จะแสดงวิธีใช้บริการเหตุการณ์ในแอปพลิเคชัน C++

ก่อนเริ่มต้น

หากยังไม่ได้อ่าน โปรดอ่านแนวคิดเกมกิจกรรม

หากต้องการตั้งค่าสภาพแวดล้อมการพัฒนา C++ เพื่อใช้บริการเหตุการณ์ ให้ทําตามวิธีการในคู่มือการเริ่มต้นใช้งานสําหรับ C++ คุณสามารถดาวน์โหลด SDK สำหรับ C++ ของบริการเกมของ Play ได้จากหน้าการดาวน์โหลด SDK

คุณต้องกำหนดเหตุการณ์ใน Google Play Console ก่อนเพื่อให้เกมเข้าถึงเหตุการณ์ได้

ส่งกิจกรรม

คุณสามารถเพิ่มโค้ดในเกมเพื่อแจ้งให้บริการเหตุการณ์ทราบทุกครั้งที่มีเหตุการณ์ที่น่าสนใจเกิดขึ้นในเกม ตัวอย่างเหตุการณ์ที่คุณบันทึกได้ในเกม ได้แก่ การฆ่าศัตรู การสํารวจหรือกลับไปยังภูมิภาคต่างๆ ในเกม หรือการได้รับไอเทมในเกม โดยทั่วไป คุณจะต้องเรียกใช้เมธอด Increment ในเครื่องมือจัดการเหตุการณ์เพื่อเพิ่มจํานวนเหตุการณ์ขึ้น 1 ครั้งทุกครั้งที่ผู้เล่นดําเนินการซึ่งเชื่อมโยงกับเหตุการณ์ (เช่น "ฆ่ามอนสเตอร์ 1 ตัว")

ตัวอย่างต่อไปนี้แสดงวิธีส่งจํานวนเหตุการณ์ที่อัปเดตแล้วไปยังบริการเหตุการณ์

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

เรียกข้อมูลเหตุการณ์

หากต้องการเรียกข้อมูลค่าการนับปัจจุบันที่จัดเก็บไว้ในเซิร์ฟเวอร์ของ Google สําหรับเหตุการณ์หนึ่งๆ ให้เรียกใช้เมธอด Fetch* อย่างใดอย่างหนึ่ง คุณอาจทำเช่นนี้ได้ เช่น หากต้องการแสดงสถิติหรือความคืบหน้าในเกมของผู้เล่นจาก UI ที่กําหนดเองในเกม

ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลและบันทึกข้อมูลเหตุการณ์ในเกม

  // Log Events details.
  LogI("---- Showing Event Counts -----");
  gpg::EventManager::FetchAllCallback callback =
      [](gpg::EventManager::FetchAllResponse const &response) {
    for (auto i : response.data) {
      gpg::Event const &event = i.second;
      LogI("Event name: %s  count: %d", event.Name().c_str(),
           event.Count());
    }
  };
  game_services_->Events().FetchAll(callback);