gpg::GameServices
#include <game_services.h>
与 Google Play Games 交互的起点。
摘要
Game Services 生命周期
通过 GameServices::Builder 创建 GameServices 类的一个实例。创建时,实例最初并未登录 Game Services(即 IsAuthorized() 将返回 false)。后台会启动一次静默登录尝试,如果用户在上一个会话结束时已登录,则该尝试可能会成功。在此静默登录尝试完成之前,应禁用或隐藏任何用户身份验证 UI(例如,登录和/或退出按钮)。
此静默登录尝试完成后,将通知 GameServices 实例的 OnAuthActionFinished 回调(通过 GameServices::Builder::SetOnAuthActionFinished 注册)。如果回调参数反映登录尝试成功,则可以假定实例已连接到 Game Services(即 IsAuthorized() 将返回 true),并应启用退出 UI。如果回调参数反映登录尝试失败,则应启用登录 UI。
仅应在用户请求时调用通过 SignOut() 方法进行的显式退出。这会请求转换为已退出状态。此转换的完成由 OnAuthActionFinished 回调的调用指示。在此回调被调用之前,不应调用其他 GameServices API(包括 StartAuthorizationUI())。
销毁 GameServices 实例时,它会阻塞直到没有待处理的操作,以避免数据丢失。如果不需要这种销毁时阻塞的行为,则应发出 Flush() 请求,并且应保持 GameServices 实例处于活动状态,直到 Flush() 完成。
为了使 GameServices 在 Android 版本低于 4.0 的设备上正常运行,所属的 Activity 必须调用生命周期回调。请参阅 AndroidSupport。
构造函数和析构函数 |
|
---|---|
GameServices()
|
|
~GameServices()
|
公共类型 |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
定义一个回调类型,用于接收 Flush 操作的结果(状态)。 |
公共函数 |
|
---|---|
成就()
|
提供对用于访问和操作成就的 AchievementManager 对象的引用。
|
Achievements() const
|
const AchievementManager &
提供对用于访问和操作成就的 AchievementManager 对象的 const 引用。
|
事件()
|
提供对用于访问和操作事件的 EventManager 对象的引用。
|
Events() const
|
const EventManager &
提供对用于访问和操作事件的 EventManager 对象的 const 引用。
|
Flush(FlushCallback callback)
|
void
异步刷新主调度队列,并将刷新状态返回给提供的 FlushCallback。
|
FlushBlocking()
|
同步刷新并获取刷新结果(状态)。
|
FlushBlocking(Timeout timeout)
|
同步刷新并获取刷新结果(状态)。
|
IsAuthorized()
|
bool
允许您明确检查当前授权状态。
|
排行榜()
|
提供对用于访问和操作成就的 LeaderboardManager 对象的引用。
|
Leaderboards() const
|
const LeaderboardManager &
提供对用于访问和操作成就的 LeaderboardManager 对象的 const 引用。
|
玩家()
|
提供对 PlayerManager 对象的引用,该对象允许访问玩家信息。
|
Players() const
|
const PlayerManager &
提供对 PlayerManager 对象的 const 引用,该对象允许访问玩家信息。
|
实时多人游戏()
|
提供对 RealTimeMultiplayerManager 对象的引用,该对象允许访问 RTMP 相关方法。
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
提供对 RealTimeMultiplayerManager 对象的 const 引用,该对象允许访问 RTMP 相关方法。
|
SignOut()
|
void
开始异步退出登录过程。
|
快照()
|
提供对用于访问和操作快照的 SnapshotManager 对象的引用。
|
Snapshots() const
|
const SnapshotManager &
提供对用于访问和操作快照的 SnapshotManager 对象的 const 引用。
|
StartAuthorizationUI()
|
void
启动平台特定的用户授权流程。
|
统计信息()
|
提供对用于访问游戏和玩家统计信息的 StatsManager 对象的引用。
|
Stats() const
|
const StatsManager &
提供对用于访问游戏和玩家统计信息的 StatsManager 对象的 const 引用。
|
回合制多人游戏()
|
提供对 TurnBasedMultiplayerManager 对象的引用,该对象允许访问 TBMP 相关方法。
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
提供对 TurnBasedMultiplayerManager 对象的 const 引用,该对象允许访问 TBMP 相关方法。
|
视频()
|
提供对 VideoManager 对象的引用,该对象允许访问视频相关方法。
|
Video() const
|
const VideoManager &
提供对 VideoManager 对象的 const 引用,该对象允许访问视频相关方法。
|
类 |
|
---|---|
gpg:: |
用于创建和配置 GameServices 类的一个实例。 |
公共类型
FlushCallback
std::function< void(FlushStatus)> FlushCallback
定义一个回调类型,用于接收 Flush 操作的结果(状态)。
在 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),其中 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_* 回调来处理授权状态更改,而不是轮询。
实时多人游戏
RealTimeMultiplayerManager & RealTimeMultiplayer()
提供对 RealTimeMultiplayerManager 对象的引用,该对象允许访问 RTMP 相关方法。
实时多人游戏
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
提供对 RealTimeMultiplayerManager 对象的 const 引用,该对象允许访问 RTMP 相关方法。
SignOut
void SignOut()
开始异步退出登录过程。
调用 SignOut 后,在收到表示成功退出登录的 OnAuthActionFinishedCallback 之前,不应调用 GameServices 上的任何操作。
StartAuthorizationUI
void StartAuthorizationUI()
启动平台特定的用户授权流程。
回合制多人游戏
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
提供对 TurnBasedMultiplayerManager 对象的引用,该对象允许访问 TBMP 相关方法。
回合制多人游戏
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
提供对 TurnBasedMultiplayerManager 对象的 const 引用,该对象允许访问 TBMP 相关方法。
~GameServices
~GameServices()