使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

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 typedef
std::function< void(FlushStatus)>
定义用于接收 Flush 操作结果(状态)的回调类型。

公共函数

Achievements()
提供对用于访问和操控成就的 AchievementManager 对象的引用。
Achievements() const
提供用于访问和操控成就的 AchievementManager 对象常量引用。
Events()
提供对用于访问和操控事件的 EventManager 对象的引用。
Events() const
const EventManager &
提供对用于访问和操纵事件的 EventManager 对象的常量引用。
Flush(FlushCallback callback)
void
异步刷新主调度队列,并将刷新状态返回到提供的 FlushCallback。
FlushBlocking()
同步刷新并获取刷新的结果(状态)。
FlushBlocking(Timeout timeout)
同步刷新并获取刷新的结果(状态)。
IsAuthorized()
bool
可让您明确检查当前授权状态。
Leaderboards()
提供对用于访问和操控成就的 LeaderboardManager 对象的引用。
Leaderboards() const
提供用于访问和操控成就的 LeaderboardManager 对象常量引用。
Players()
提供对 PlayerManager 对象的引用,允许访问有关播放器的信息。
Players() const
const PlayerManager &
提供对 PlayerManager 对象的常量引用,以便访问播放器的相关信息。
RealTimeMultiplayer()
提供对 RealTimeMultiplayerManager 对象的引用,该对象允许访问与 RTMP 相关的方法。
RealTimeMultiplayer() const
提供对 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
提供对 TurnBasedMultiplayerManager 对象的常量引用,以便访问与 TBMP 相关的方法。
Video()
提供对 VideoManager 对象的引用,该对象允许访问视频相关方法。
Video() const
const VideoManager &
提供对 VideoManager 对象的常量引用,以便访问视频相关方法。

gpg::GameServices::构建器

用于创建和配置 GameServices 类的实例。

公共类型

FlushCallback

std::function< void(FlushStatus)> FlushCallback

定义用于接收 Flush 操作结果(状态)的回调类型。

Flush() 中使用。

公共函数

成就

AchievementManager & Achievements()

提供对用于访问和操控成就的 AchievementManager 对象的引用。

成就

const AchievementManager & Achievements() const 

提供用于访问和操控成就的 AchievementManager 对象常量引用。

活动

EventManager & Events()

提供对用于访问和操控事件的 EventManager 对象的引用。

活动

const EventManager & Events() const 

提供对用于访问和操纵事件的 EventManager 对象的常量引用。

清空

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_* 回调来处理授权状态的变化,而不是进行轮询。

排行榜

LeaderboardManager & Leaderboards()

提供对用于访问和操控成就的 LeaderboardManager 对象的引用。

排行榜

const LeaderboardManager & Leaderboards() const 

提供用于访问和操控成就的 LeaderboardManager 对象常量引用。

玩家人数

PlayerManager & Players()

提供对 PlayerManager 对象的引用,允许访问有关播放器的信息。

玩家人数

const PlayerManager & Players() const 

提供对 PlayerManager 对象的常量引用,以便访问播放器的相关信息。

实时多人游戏

RealTimeMultiplayerManager & RealTimeMultiplayer()

提供对 RealTimeMultiplayerManager 对象的引用,该对象允许访问与 RTMP 相关的方法。

实时多人游戏

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

提供对 RealTimeMultiplayerManager 对象的常量引用,以便访问 RTMP 相关方法。

退出

void SignOut()

开始异步退出流程。

调用 SignOut 之后,在收到表示退出成功的 OnAuthActionFinishedCallback 之前,您不应对 GameServices 调用任何操作。

快照

SnapshotManager & Snapshots()

提供对用于访问和操控快照的 SnapshotManager 对象的引用。

快照

const SnapshotManager & Snapshots() const 

提供对用于访问和操纵快照的 SnapshotManager 对象的常量引用。

StartAuthorizationUI

void StartAuthorizationUI()

调出特定于平台的用户授权流程。

统计数据

StatsManager & Stats()

提供对用于访问游戏和玩家统计信息的 StatsManager 对象的引用。

统计数据

const StatsManager & Stats() const 

提供用于访问游戏和玩家统计信息的 StatsManager 对象的常量引用。

回合制多人游戏

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

提供对 TurnBasedMultiplayerManager 对象的引用,从而允许访问与 TBMP 相关的方法。

回合制多人游戏

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

提供对 TurnBasedMultiplayerManager 对象的常量引用,以便访问与 TBMP 相关的方法。

视频广告系列

VideoManager & Video()

提供对 VideoManager 对象的引用,该对象允许访问视频相关方法。

视频广告系列

const VideoManager & Video() const 

提供对 VideoManager 对象的常量引用,以便访问视频相关方法。

~GameServices

 ~GameServices()