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

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

Achievements()
ระบุการอ้างอิงไปยังออบเจ็กต์ AchievementManager ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
Achievements() const
ให้การอ้างอิง 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 ที่ใช้สำหรับการเข้าถึงและจัดการรางวัลพิเศษ
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 &
ให้การอ้างอิง Const กับออบเจ็กต์ 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

กำหนดประเภทโค้ดเรียกกลับที่ได้รับผลลัพธ์ (สถานะ) ของการดำเนินการล้าง

ใช้ใน 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()