gpg:: GameServices
#include <game_services.h>
與 Google Play 遊戲互動的起點。
摘要
遊戲服務生命週期
GameServices 類別的例項是透過 GameServices::Builder 建立。執行個體建立完成後,一開始不會登入遊戲服務 (也就是說,IsAuthorized() 會傳回 false)。系統在背景中啟動了無訊息的登入嘗試;如果使用者在上一個工作階段結束時登入,可能會成功。在此之前,所有的使用者驗證使用者介面 (例如登入和/或登出按鈕) 均應停用或隱藏。
在這次無訊息登入嘗試完成時,系統會通知 GameServices 執行個體的 OnAuthActionFinished 回呼 (透過 GameServices::Builder::SetOnAuthActionFinished) 通知。如果回呼引數反映成功登入,系統會假設執行個體是連線至遊戲服務 (也就是說,IsAuthorized() 會傳回 true),並應啟用登出 UI。如果回呼引數反映登入失敗,則應啟用登入使用者介面。
透過 SignOut() 方法明確登出,只有在使用者要求時才能叫用。這項要求會要求轉換為登出狀態。轉換完成可透過叫用 OnAuthActionFinished 回呼來表示。在叫用此回呼前,不應呼叫其他 GameServices API (包括 StartAuthorizationUI())。
刪除 GameServices 執行個體時,該執行個體會遭到封鎖,直到沒有任何待處理的作業為止,以免資料遺失。如果不希望出現此區塊後刪除的行為,系統應發出 Flush(),且 GameServices 執行個體應保持運作,直到 Flush() 完成為止。
為了讓 GameServices 在 Android 4.0 以下版本中正常運作,所屬 Activity 必須呼叫生命週期回呼。請參閱 AndroidSupport。
建構函式和解構函式 |
|
---|---|
GameServices()
|
|
~GameServices()
|
公開類型 |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
定義接收 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 &
提供 PlayerManager 物件的常數參照,該物件可以存取玩家的相關資訊。
|
RealTimeMultiplayer()
|
提供 RealTimeMultiplayerManager 物件的參照,以便存取 RTMP 相關方法。
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
提供 RealTimeMultiplayerManager 物件的並行參照,以便存取 RTMP 相關方法。
|
SignOut()
|
void
開始非同步的登出程序。
|
Snapshots()
|
提供用於存取及操控快照的 SnapshotManager 物件參照。
|
Snapshots() const
|
const SnapshotManager &
提供用於存取及操控快照的 SnapshotManager 物件的常數參照。
|
StartAuthorizationUI()
|
void
提供平台專屬使用者授權流程。
|
Stats()
|
提供用於存取遊戲和玩家統計資料的 StatsManager 物件參照。
|
Stats() const
|
const StatsManager &
提供 StatsManager 物件的常數參照,用於存取遊戲和玩家統計資料。
|
TurnBasedMultiplayer()
|
提供 TurnBasedMultiplayerManager 物件的參照,以便存取 TBMP 相關方法。
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
提供 TurnBasedMultiplayerManager 物件的常數參照,以便存取 TBMP 相關方法。
|
Video()
|
提供 VideoManager 物件的參照,可用於存取影片相關方法。
|
Video() const
|
const VideoManager &
提供 VideoManager 物件的連續參照,可用於存取影片相關方法。
|
類別 |
|
---|---|
gpg:: |
用於建立及設定 GameServices 類別的執行個體。 |
公開類型
FlushCallback
std::function< void(FlushStatus)> FlushCallback
定義接收 Flush 作業結果 (狀態) 的回呼類型。
用於 Flush()。
公用函式
清除
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_* 回呼,以便處理授權狀態變更,而不是輪詢。
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
提供 RealTimeMultiplayerManager 物件的參照,以便存取 RTMP 相關方法。
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
提供 RealTimeMultiplayerManager 物件的並行參照,以便存取 RTMP 相關方法。
SignOut
void SignOut()
開始非同步的登出程序。
呼叫 SignOut 後,在您收到表示成功登出的 OnAuthActionFinishedCallback 之前,請不要在 GameServices 上呼叫任何作業。
StartAuthorizationUI
void StartAuthorizationUI()
提供平台專屬使用者授權流程。
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
提供 TurnBasedMultiplayerManager 物件的參照,以便存取 TBMP 相關方法。
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
提供 TurnBasedMultiplayerManager 物件的常數參照,以便存取 TBMP 相關方法。
~GameServices
~GameServices()