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。
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 后,您不应对 GameServices 调用任何操作,直至收到表示成功退出登录的 OnAuthActionFinishedCallback。
StartAuthorizationUI
void StartAuthorizationUI()
调出平台专用的用户授权流程。
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
提供对 TurnBasedMultiplayerManager 对象的引用,从而允许访问与 TBMP 相关的方法。
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
提供对 TurnBasedMultiplayerManager 对象的常量引用,从而允许访问与 TBMP 相关的方法。
~GameServices
~GameServices()