gpg:: GameServices
#include <game_services.h>
与 Google Play 游戏互动的起点。
总结
游戏服务生命周期
可通过 GameServices::Builder 创建 GameServices 类的实例。创建后,实例最初未登录游戏服务(也就是说,IsAuthorized() 将返回 false)。静默登录尝试会在后台启动,如果用户在上一次会话结束时登录,可能会成功启动。在完成此静默登录尝试之前,应停用或隐藏任何用户身份验证界面(例如登录和/或退出按钮)。
静默登录尝试完成后,GameServices 实例的 OnAuthActionFinished 回调(通过 GameServices::Builder::SetOnAuthActionFinished 注册)会收到通知。如果回调参数反映登录尝试成功,则可以假定该实例已连接到游戏服务(即 IsAuthorized() 将返回 true),并且应启用退出界面。如果回调参数反映登录尝试失败,则应启用登录界面。
应仅在用户请求时调用 SignOut() 方法显式退出。这会请求转换为退出登录状态。此过渡的完成通过调用 OnAuthActionFinished 回调来表示。在此类回调被调用之前,不应调用其他 GameServices API(包括 StartAuthorizationUI())。
销毁 GameServices 实例后,它将阻塞,直到没有待处理的操作以避免数据丢失。如不希望发生此销毁块行为,则应发出 Flush(),并且 GameServices 实例应保持活跃状态,直至 Flush() 完成。
为了让 GameServices 在低于 4.0 的 Android 版本上正常运行,所有者 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。
屏蔽
FlushStatus FlushBlocking()
同步刷新并获取刷新的结果(状态)。
可能的状态包括:FLUSHED、ERROR_INTERNAL、ERROR_NOT_AUTHORIZED、ERROR_VERSION_UPDATE_REQUIRED 和 ERROR_TIMEOUT。如果未指定此超时,则此函数调用等同于调用 FlushStatus FlushBlocked(Timeout),并将超时指定为 10 年。
屏蔽
FlushStatus FlushBlocking( Timeout timeout )
同步刷新并获取刷新的结果(状态)。
可能的状态包括:FLUSHED、ERROR_INTERNAL、ERROR_NOT_AUTHORIZED、ERROR_VERSION_UPDATE_REQUIRED 和 ERROR_TIMEOUT。将超时指定为任意毫秒数。
GameServices
GameServices()=delete
已授权
bool IsAuthorized()
可让您明确检查当前授权状态。
建议 SDK 使用方注册 AUTH_ACTION_* 回调来处理授权状态的变化,而不是进行轮询。
实时多人游戏
RealTimeMultiplayerManager & RealTimeMultiplayer()
提供对 RealTimeMultiplayerManager 对象的引用,该对象允许访问与 RTMP 相关的方法。
实时多人游戏
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
提供对 RealTimeMultiplayerManager 对象的常量引用,以便访问 RTMP 相关方法。
退出
void SignOut()
开始异步退出流程。
调用 SignOut 之后,在收到表示退出成功的 OnAuthActionFinishedCallback 之前,您不应对 GameServices 调用任何操作。
StartAuthorizationUI
void StartAuthorizationUI()
调出特定于平台的用户授权流程。
回合制多人游戏
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
提供对 TurnBasedMultiplayerManager 对象的引用,从而允许访问与 TBMP 相关的方法。
回合制多人游戏
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
提供对 TurnBasedMultiplayerManager 对象的常量引用,以便访问与 TBMP 相关的方法。
~GameServices
~GameServices()