gpg:: GameServices
#include <game_services.h>
จุดเริ่มต้นสำหรับการโต้ตอบกับ Google Play เกม
สรุป
วงจรของบริการเกม
อินสแตนซ์ของคลาส GameServices จะสร้างผ่าน GameServices::Builder เมื่อสร้างแล้ว อินสแตนซ์ไม่ได้ลงชื่อเข้าใช้บริการเกมตั้งแต่แรก (กล่าวคือ IsAuthorized() จะแสดงผลเป็นเท็จ) ความพยายามในการลงชื่อเข้าใช้แบบเงียบจะเริ่มต้นขึ้นในพื้นหลัง และอาจดำเนินการได้สำเร็จหากผู้ใช้ลงชื่อเข้าใช้ในช่วงท้ายของเซสชันก่อนหน้า คุณควรปิดหรือซ่อน UI การตรวจสอบสิทธิ์ผู้ใช้ (เช่น ปุ่มลงชื่อเข้าใช้และ/หรือออกจากระบบ) จนกว่าการพยายามลงชื่อเข้าใช้แบบเงียบนี้จะเสร็จสมบูรณ์
เมื่อลงชื่อเข้าใช้แบบเงียบนี้เสร็จแล้ว ระบบจะแจ้งเตือน OnAuthActionFinished สำหรับอินสแตนซ์ GameServices (ลงทะเบียนกับ GameServices::Builder::SetOnAuthActionFinished) แล้ว หากอาร์กิวเมนต์เรียกกลับแสดงถึงการพยายามลงชื่อเข้าใช้ที่สำเร็จ จะถือว่าอินสแตนซ์เชื่อมต่อกับบริการเกม (กล่าวคือ IsAuthorized() จะแสดงผลค่าจริง) และควรเปิดใช้ UI การออกจากระบบ หากอาร์กิวเมนต์เรียกกลับแสดงถึงการพยายามลงชื่อเข้าใช้ที่ล้มเหลว ควรเปิดใช้ UI การลงชื่อเข้าใช้
การออกจากระบบอย่างชัดแจ้งผ่านเมธอด SignOut() ควรเรียกใช้ตามคำขอของผู้ใช้เท่านั้น การดำเนินการนี้จะขอให้เปลี่ยนสถานะเป็นออกจากระบบ การสิ้นสุดการเปลี่ยนแปลงนี้จะระบุด้วยการเรียกใช้โค้ดเรียกกลับ OnAuthActionFinished จนกว่าจะมีการเรียกใช้โค้ดเรียกกลับนี้ คุณไม่ควรเรียกใช้ API ของ GameServices อื่นๆ (รวมถึง StartAuthorizationUI()) ด้วยเช่นกัน
เมื่ออินสแตนซ์ GameServices ถูกทำลายแล้ว อินสแตนซ์จะบล็อกจนกว่าจะไม่มีการดำเนินการที่รอดำเนินการเพื่อหลีกเลี่ยงการสูญหายของข้อมูล หากการทำงานแบบบล็อกเมื่อทำลายนี้ไม่ได้ ควรออก Flush() และควรคงอินสแตนซ์ GameServices ต่อไปจนกว่า Flush() จะเสร็จสมบูรณ์
เพื่อให้ GameServices ทำงานได้อย่างถูกต้องใน Android เวอร์ชันต่ำกว่า 4.0 กิจกรรมที่เป็นเจ้าของจะต้องเรียกใช้ Callback ของวงจร โปรดดู AndroidSupport
ผู้ผลิตและผู้ทำลาย |
|
---|---|
GameServices()
|
|
~GameServices()
|
ประเภทสาธารณะ |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
กำหนดประเภทโค้ดเรียกกลับที่ได้รับผลลัพธ์ (สถานะ) ของการดำเนินการล้าง |
ฟังก์ชันสาธารณะ |
|
---|---|
Achievements()
|
ระบุการอ้างอิงไปยังออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Achievements() const
|
const AchievementManager &
ให้การอ้างอิง Const ไปยังออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Events()
|
ระบุการอ้างอิงไปยังออบเจ็กต์ EventManager ที่ใช้สำหรับการเข้าถึงและจัดการเหตุการณ์
|
Events() const
|
const EventManager &
ให้การอ้างอิง Const กับออบเจ็กต์ EventManager ที่ใช้สำหรับการเข้าถึงและจัดการเหตุการณ์
|
Flush(FlushCallback callback)
|
void
ล้างคิวการจ่ายงานหลักแบบอะซิงโครนัส และส่งคืนสถานะของการล้างไปยัง FlushCallback ที่ระบุไว้
|
FlushBlocking()
|
ล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
|
FlushBlocking(Timeout timeout)
|
ล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
|
IsAuthorized()
|
bool
ช่วยให้คุณสามารถตรวจสอบสถานะการให้สิทธิ์ปัจจุบันได้อย่างชัดเจน
|
Leaderboards()
|
ระบุการอ้างอิงไปยังออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
|
Leaderboards() const
|
const LeaderboardManager &
ให้ข้อมูลอ้างอิง Const ไปยังออบเจ็กต์ 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 &
ให้การอ้างอิง Const กับออบเจ็กต์ 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
กำหนดประเภทโค้ดเรียกกลับที่ได้รับผลลัพธ์ (สถานะ) ของการดำเนินการล้าง
ใช้ใน Flush()
ฟังก์ชันสาธารณะ
ความสำเร็จ
AchievementManager & Achievements()
ระบุการอ้างอิงไปยังออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
ความสำเร็จ
const AchievementManager & Achievements() const
ให้การอ้างอิง Const ไปยังออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
กิจกรรม
EventManager & Events()
ระบุการอ้างอิงไปยังออบเจ็กต์ EventManager ที่ใช้สำหรับการเข้าถึงและจัดการเหตุการณ์
กิจกรรม
const EventManager & Events() const
ให้การอ้างอิง 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 ลงทะเบียนสำหรับโค้ดเรียกกลับ AUTH_ACTION_* เพื่อจัดการการเปลี่ยนแปลงสถานะการให้สิทธิ์ แทนการสำรวจ
ลีดเดอร์บอร์ด
LeaderboardManager & Leaderboards()
ระบุการอ้างอิงไปยังออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
ลีดเดอร์บอร์ด
const LeaderboardManager & Leaderboards() const
ให้ข้อมูลอ้างอิง 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
ให้การอ้างอิง 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()