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