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