gpg:: GameServices
#include <game_services.h>
จุดเริ่มต้นในการโต้ตอบกับ Google Play Games
สรุป
วงจรบริการเกม
อินสแตนซ์ของคลาส GameServices นั้นสร้างขึ้นผ่าน GameServices::Builder เมื่อสร้างอินสแตนซ์แล้ว อินสแตนซ์นี้จะไม่ลงชื่อเข้าใช้บริการเกมในตอนแรก (กล่าวคือ IsAuthorized() จะแสดงค่าเท็จ) ระบบจะเริ่มลงชื่อเข้าใช้แบบเงียบในเบื้องหลัง และอาจดำเนินการสำเร็จหากผู้ใช้ลงชื่อเข้าใช้เมื่อสิ้นสุดเซสชันก่อนหน้า ควรปิดหรือซ่อน UI การตรวจสอบสิทธิ์ของผู้ใช้ (เช่น ปุ่มลงชื่อเข้าใช้และ/หรือออกจากระบบ) จนกว่าจะเสร็จสิ้นความพยายามในการลงชื่อเข้าใช้แบบเงียบนี้
เมื่อการพยายามลงชื่อเข้าใช้แบบเงียบนี้เสร็จสมบูรณ์ จะมีการแจ้งเตือน OnAuthActionFinished สำหรับอินสแตนซ์ GameServices (ลงทะเบียนกับ GameServices::Builder::SetOnAuthActionFinished) แล้ว หากอาร์กิวเมนต์ Callback แสดงถึงการพยายามลงชื่อเข้าใช้ที่สำเร็จ จะถือว่าอินสแตนซ์เชื่อมต่อกับบริการเกม (กล่าวคือ IsAuthorized() จะแสดงค่าจริง) และควรเปิดใช้ UI การออกจากระบบ หากอาร์กิวเมนต์ Callback แสดงการพยายามลงชื่อเข้าใช้ที่ล้มเหลว คุณควรเปิดใช้ UI การลงชื่อเข้าใช้
ควรเรียกใช้การออกจากระบบอย่างชัดแจ้งผ่านเมธอด SignOut() ตามคำขอของผู้ใช้เท่านั้น การดำเนินการนี้จะขอให้เปลี่ยนสถานะเป็นออกจากระบบ การเสร็จสิ้นของการเปลี่ยนนี้ระบุโดยการเรียกใช้ Callback OnAuthActionFinished ไม่ควรเรียกใช้ GameServices API อื่นๆ (รวมถึง StartAuthorizationUI()) จนกว่าจะเรียกใช้ Callback นี้
เมื่อมีการทำลายอินสแตนซ์ GameServices ระบบจะบล็อกอินสแตนซ์จนกว่าจะไม่มีการดำเนินการที่รอดำเนินการเพื่อไม่ให้ข้อมูลสูญหาย หากไม่พึงประสงค์พฤติกรรมการบล็อกการทำลายในลักษณะนี้ ควรมีการออก Flush() และควรเก็บอินสแตนซ์ GameServices ไว้ต่อไปจนกว่า Flush() จะเสร็จสิ้น
เพื่อให้ GameServices ทำงานได้อย่างถูกต้องบน Android เวอร์ชันที่ต่ำกว่า 4.0 กิจกรรมที่เป็นเจ้าของจะต้องเรียกใช้ Callback ของวงจร ดูAndroidSupport
ผู้ผลิตและผู้ทำลาย |
|
---|---|
GameServices()
|
|
~GameServices()
|
ประเภทสาธารณะ |
|
---|---|
FlushCallback
|
Typedefstd::function< void(FlushStatus)>
กำหนดประเภท Callback ที่รับผลลัพธ์ (สถานะ) ของการดำเนินการ Flush |
ฟังก์ชันสาธารณะ |
|
---|---|
Achievements()
|
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Achievements() const
|
const AchievementManager &
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Events()
|
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
|
Events() const
|
const EventManager &
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
|
Flush(FlushCallback callback)
|
void
จะล้างคิวการจ่ายงานหลักแบบไม่พร้อมกัน และแสดงสถานะของการล้างไปยัง FlushCallback ที่ระบุ
|
FlushBlocking()
|
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
|
FlushBlocking(Timeout timeout)
|
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
|
IsAuthorized()
|
bool
ช่วยให้คุณสามารถตรวจสอบสถานะการให้สิทธิ์ปัจจุบันได้อย่างชัดเจน
|
Leaderboards()
|
ให้การอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Leaderboards() const
|
const LeaderboardManager &
ระบุการอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Players()
|
ให้การอ้างอิงออบเจ็กต์ PlayerManager ซึ่งทำให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
|
Players() const
|
const PlayerManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ PlayerManager ซึ่งช่วยให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
|
RealTimeMultiplayer()
|
ให้การอ้างอิงไปยังออบเจ็กต์ RealTimeMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ RTMP ได้
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ RealTimeMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ RTMP ได้
|
SignOut()
|
void
เริ่มกระบวนการออกจากระบบแบบไม่พร้อมกัน
|
Snapshots()
|
ให้การอ้างอิงออบเจ็กต์ SnapshotManager ที่ใช้ในการเข้าถึงและจัดการสแนปชอต
|
Snapshots() const
|
const SnapshotManager &
ให้การอ้างอิง Const ไปยังออบเจ็กต์ SnapshotManager ที่ใช้ในการเข้าถึงและจัดการสแนปชอต
|
StartAuthorizationUI()
|
void
แสดงขั้นตอนการให้สิทธิ์ผู้ใช้เฉพาะแพลตฟอร์ม
|
Stats()
|
ให้การอ้างอิงออบเจ็กต์ StatsManager ที่ใช้สำหรับการเข้าถึงสถิติของเกมและผู้เล่น
|
Stats() const
|
const StatsManager &
ระบุการอ้างอิงออบเจ็กต์ StatsManager ที่ใช้สำหรับการเข้าถึงสถิติของเกมและผู้เล่น
|
TurnBasedMultiplayer()
|
ระบุการอ้างอิงออบเจ็กต์ TurnBasedMultiplayerManager ซึ่งทำให้เข้าถึงเมธอดที่เกี่ยวข้องกับ TBMP ได้
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ TurnBasedMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ TBMP ได้
|
Video()
|
ให้การอ้างอิงออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ
|
Video() const
|
const VideoManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ
|
ชั้นเรียน |
|
---|---|
gpg:: |
ใช้สำหรับสร้างและกำหนดค่าอินสแตนซ์ของคลาส GameServices |
ประเภทสาธารณะ
FlushCallback
std::function< void(FlushStatus)> FlushCallback
กำหนดประเภท Callback ที่รับผลลัพธ์ (สถานะ) ของการดำเนินการ Flush
ใช้ใน Flush()
ฟังก์ชันสาธารณะ
ความสำเร็จ
AchievementManager & Achievements()
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
ความสำเร็จ
const AchievementManager & Achievements() const
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
กิจกรรม
EventManager & Events()
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
กิจกรรม
const EventManager & Events() const
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
แบบยึดเพดานด้วยฐาน
void Flush( FlushCallback callback )
จะล้างคิวการจ่ายงานหลักแบบไม่พร้อมกัน และแสดงสถานะของการล้างไปยัง FlushCallback ที่ระบุ
สถานะที่เป็นไปได้คือ FLUSHED, ERROR_INTERNAL และ ERROR_VERSION_UPDATE_REQUIRED
FlushBlocking
FlushStatus FlushBlocking()
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
สถานะที่เป็นไปได้ ได้แก่ FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED และ ERROR_TIMEOUT การไม่ระบุระยะหมดเวลานี้จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ FlushStatus FlushBlocking(Timeout) ซึ่งระบุระยะหมดเวลาเป็น 10 ปี
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
สถานะที่เป็นไปได้ ได้แก่ FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED และ ERROR_TIMEOUT ระบุระยะหมดเวลาเป็นจำนวนมิลลิวินาทีได้ตามต้องการ
GameServices
GameServices()=delete
IsAuthorized
bool IsAuthorized()
ช่วยให้คุณสามารถตรวจสอบสถานะการให้สิทธิ์ปัจจุบันได้อย่างชัดเจน
เราขอแนะนำให้ผู้ใช้ SDK ลงทะเบียนสำหรับ Callback AUTH_ACTION_* เพื่อจัดการการเปลี่ยนแปลงสถานะการให้สิทธิ์แทนการสำรวจ
ลีดเดอร์บอร์ด
LeaderboardManager & Leaderboards()
ให้การอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
ลีดเดอร์บอร์ด
const LeaderboardManager & Leaderboards() const
ระบุการอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
ผู้เล่น
PlayerManager & Players()
ให้การอ้างอิงออบเจ็กต์ PlayerManager ซึ่งทำให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
ผู้เล่น
const PlayerManager & Players() const
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ PlayerManager ซึ่งช่วยให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
ให้การอ้างอิงไปยังออบเจ็กต์ RealTimeMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ RTMP ได้
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ RealTimeMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ RTMP ได้
SignOut
void SignOut()
เริ่มกระบวนการออกจากระบบแบบไม่พร้อมกัน
หลังจากเรียกใช้ SignOut แล้ว คุณไม่ควรเรียกใช้การดำเนินการใดๆ ใน GameServices จนกว่าจะได้รับ OnAuthActionFinishedCallback ที่ระบุว่าออกจากระบบสำเร็จ
สแนปชอต
SnapshotManager & Snapshots()
ให้การอ้างอิงออบเจ็กต์ SnapshotManager ที่ใช้ในการเข้าถึงและจัดการสแนปชอต
สแนปชอต
const SnapshotManager & Snapshots() const
ให้การอ้างอิง Const ไปยังออบเจ็กต์ SnapshotManager ที่ใช้ในการเข้าถึงและจัดการสแนปชอต
StartAuthorizationUI
void StartAuthorizationUI()
แสดงขั้นตอนการให้สิทธิ์ผู้ใช้เฉพาะแพลตฟอร์ม
สถิติ
StatsManager & Stats()
ให้การอ้างอิงออบเจ็กต์ StatsManager ที่ใช้สำหรับการเข้าถึงสถิติของเกมและผู้เล่น
สถิติ
const StatsManager & Stats() const
ระบุการอ้างอิงออบเจ็กต์ StatsManager ที่ใช้สำหรับการเข้าถึงสถิติของเกมและผู้เล่น
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
ระบุการอ้างอิงออบเจ็กต์ TurnBasedMultiplayerManager ซึ่งทำให้เข้าถึงเมธอดที่เกี่ยวข้องกับ TBMP ได้
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ TurnBasedMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ TBMP ได้
วิดีโอ
VideoManager & Video()
ให้การอ้างอิงออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ
วิดีโอ
const VideoManager & Video() const
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ
~GameServices
~GameServices()