SteamAPI_Init 函数即可初始化 API。可选地,你可以调用 SteamAPI_RestartAppIfNecessary,如有必要通过 Steam 重启应用。而初始化 XBOX Game Development Kit(GDK)略复杂一些,因为不存在一个统一的应用用来启动游戏并与不同游戏服务通信,像 Steam 那样。
要开始使用 XBOX Game Development Kit(GDK)中的 API,请按以下步骤操作。
- 将 MicrosoftGame.config 文件添加到你的项目中。
- 初始化 Gaming Runtime 服务。
- 初始化 XBOX Services API,以便调用 XBOX Live 获取用户身份、云存档、成就等。
- 将用户登录到 XBOX Live。保存成功登录后返回的句柄与 XBOX 用户 ID(XUID),以备后用。
在 Steam 上,你在加载时就可以访问用户的 Steam ID 与所有 API,因为通过 Steam 启动器启动游戏时,它会自动注入用户的账号信息。XBOX Live API 会被多个启动器上的游戏使用,因此不会自动获得这些信息 —— 你需要在启动时手动登录用户。
XTaskQueue,你无需自行创建。
将用户登录到 XBOX Live
使用 XUserAddAsync API 将用户登录到 XBOX Live。如果是玩家第一次在你的游戏中登录,会显示一份你的游戏请求的权限清单。他们需要显式授权这些权限,以便访问其 XBOX Live 账号。 登录成功后,你可以使用传入XUserAddResult 函数的 XUserHandle 引用。它可用于获取该 XBOX Live 用户的信息,例如 gamertag、玩家头像、登录状态、年龄组以及权限等。
用户第一次登录之后,只要在他们上次启动游戏后不需要处理 UI 提示(例如新的隐私协议),他们应该能够静默登录成功(即无需玩家操作)。不过,你仍然需要发起这些 API 调用来获取身份访问权限。
调用 XBOX Live API 需要 XblContextHandle。你可以使用 XblContextCreateHandle 函数,通过 XUserHandle 获取 XblContextHandle。