SDK C++ ของ Google Play Games

สรุป

องค์กร

จุดแรกเข้าหลักสำหรับฟังก์ชันการทำงานของบริการเกมของ Play คือคลาส GameServices อินสแตนซ์ GameServices สร้างขึ้นด้วย GameServices::Builder ดู GameServices

เมธอดที่เข้าถึงหรือเปลี่ยนแปลงสถานะของเซสชัน GameServices ทั้งหมดที่เผยแพร่อยู่ในคลาส GameServices เอง

ฟังก์ชันอื่นๆ จะถูกสั่งผ่านชุดเครื่องมือจัดการตามฟีเจอร์ ผู้จัดการเหล่านี้จะจัดกลุ่มฟังก์ชันการทำงานที่เกี่ยวข้องไว้ด้วยกัน โดยไม่มีสถานะที่ผู้ใช้มองเห็น ผู้จัดการจะได้รับการอ้างอิง และจะมีการควบคุมตลอดอายุการใช้งานโดยอินสแตนซ์ GameServices ที่มีอยู่ ด้วยเหตุนี้ โค้ดไคลเอ็นต์จึงไม่ควรยึดติดกับการอ้างอิงของผู้จัดการ แต่เก็บอินสแตนซ์ GameServices ไว้แทน ดูผู้จัดการ

ข้อมูลส่งคืนผ่านออบเจ็กต์ประเภทค่าที่เปลี่ยนแปลงไม่ได้ ค่าเหล่านี้แสดงถึงมุมมองที่สอดคล้องกันของข้อมูลพื้นฐาน ณ เวลาที่มีการค้นหา ดูประเภทค่า

โมเดล Threading

เมธอด GameServices และ Manager ทั้งหมดเป็น Threadsafe และไม่พร้อมกัน เว้นแต่จะระบุไว้เป็นอย่างอื่น โดยเรียกใช้ในเทรดใดก็ได้โดยไม่ต้องมีการล็อกภายนอก และจะทำงานตามลำดับที่สอดคล้องกับลำดับคำขอ โดยทั่วไป วิธีการกลายพันธุ์ (ที่เปลี่ยนสถานะ) จะใช้โมเดลการยิงและจำ วิธีเข้าถึง (ที่สถานะการอ่าน) มีด้วยกัน 2 รูปแบบหลัก ตัวแปรแรก (ที่มีชื่ออย่างเช่น GetProperty) จะแจ้งผลลัพธ์แบบไม่พร้อมกันให้กับโค้ดเรียกกลับที่ระบุ ส่วนตัวแปรที่ 2 (ที่มีชื่อ เช่น GetPropertyBlocked) จะแจ้งผลลัพธ์ไปยังเทรดการเรียกใช้แบบพร้อมกัน ตัวเข้าถึงจะเห็นผลลัพธ์ของการเปลี่ยนแปลงทั้งหมดที่มีการเรียกใช้ก่อนหน้านี้ อย่างไรก็ตาม ตัวสร้างอาจแก้ไขสถานะของบริการเกมระยะไกลในเวลาใดเวลาหนึ่งหรือไม่ก็ได้

โค้ดเรียกกลับของผู้ใช้ทั้งหมด (ไม่ว่าจะเป็นการเรียกกลับแบบช็อตเดียวที่ให้ไว้เป็นอาร์กิวเมนต์ของเมธอดตัวเข้าถึง หรือโค้ดเรียกกลับแบบใช้งานครั้งเดียวที่กำหนดค่าไว้ในเวลาบิลด์ของ GameServices หรือไม่) จะมีการเรียกใช้ในเธรดโค้ดเรียกกลับโดยเฉพาะ เทรดนี้อาจแตกต่างจากแนวคิดแพลตฟอร์มของ "เทรดหลัก" หรือ "ชุดข้อความ UI" โค้ดเรียกกลับของผู้ใช้ควรดำเนินการอย่างรวดเร็ว เนื่องจากเธรดโค้ดเรียกกลับที่หยุดทำงานอาจก่อให้เกิดปัญหาที่ผู้ใช้มองเห็น (เช่น คำขอออกจากระบบที่เสร็จสมบูรณ์ล่าช้า)

พร็อพเพอร์ตี้ในประเภทค่าที่เปลี่ยนแปลงไม่ได้จะพร้อมใช้งานแบบพร้อมกันและไม่มีการบล็อก