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 Typedef
std::function< void(FlushStatus)>
กำหนดประเภท Callback ที่รับผลลัพธ์ (สถานะ) ของการดำเนินการ Flush

ฟังก์ชันสาธารณะ

Achievements()
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
Achievements() const
ระบุการอ้างอิงออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
Events()
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
Events() const
const EventManager &
ระบุการอ้างอิงออบเจ็กต์ EventManager ที่ใช้สําหรับการเข้าถึงและจัดการเหตุการณ์
Flush(FlushCallback callback)
void
จะล้างคิวการจ่ายงานหลักแบบไม่พร้อมกัน และแสดงสถานะของการล้างไปยัง FlushCallback ที่ระบุ
FlushBlocking()
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
FlushBlocking(Timeout timeout)
การล้างข้อมูลพร้อมกันและรับผลลัพธ์ (สถานะ) ของการล้าง
IsAuthorized()
bool
ช่วยให้คุณสามารถตรวจสอบสถานะการให้สิทธิ์ปัจจุบันได้อย่างชัดเจน
Leaderboards()
ให้การอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
Leaderboards() const
ระบุการอ้างอิงออบเจ็กต์ LeaderboardManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
Players()
ให้การอ้างอิงออบเจ็กต์ PlayerManager ซึ่งทำให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
Players() const
const PlayerManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ PlayerManager ซึ่งช่วยให้เข้าถึงข้อมูลเกี่ยวกับผู้เล่นได้
RealTimeMultiplayer()
ให้การอ้างอิงไปยังออบเจ็กต์ RealTimeMultiplayerManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ RTMP ได้
RealTimeMultiplayer() const
ระบุการอ้างอิง 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 ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับ TBMP ได้
Video()
ให้การอ้างอิงออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ
Video() const
const VideoManager &
ระบุการอ้างอิง Const ไปยังออบเจ็กต์ VideoManager ซึ่งช่วยให้เข้าถึงเมธอดที่เกี่ยวข้องกับวิดีโอ

ชั้นเรียน

gpg::GameServices::Builder

ใช้สำหรับสร้างและกำหนดค่าอินสแตนซ์ของคลาส 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()