初始化 Gaming Runtime Services
XSAPI 依赖于 Gaming Runtime Services (GRTS)。在调用任何 XSAPI 之前,请先初始化 GRTS,如下所示。创建 XTaskQueue(可选)
大多数 XSAPI 都是异步 API,需要使用任务队列。它是一个用于将工作排队和用于完成任务回调的 API。要了解有关XTaskQueue 和不同分派模式的更多信息,请参阅 异步任务队列设计。
例如,以下代码使用系统线程池创建任务队列。
nullptr。当使用 nullptr 时,任务系统默认使用 ThreadPool。可以通过调用 XTaskQueueSetCurrentProcessTaskQueue 来重写它。
设置 HttpClient 跟踪(可选)
要查看其他运行时调试信息,请确保设置HttpClient 的跟踪功能。
以下代码设置 HttpClient 跟踪级别并启用调试器信息的输出。
初始化 XSAPI
在调用任何 XSAPI 之前,初始化 XSAPI。将用户登录到 XBOX 网络
大多数 XSAPI 都要求用户先登录到 XBOX 网络(也称为 XBOX Live)。要将用户登录到 XBOX 网络,请参阅 XUserAddAsync API 的代码示例。创建 XboxLiveContext 对象
XboxLiveContext 对象表示与特定用户关联的服务上下文。
大多数 XSAPI 要求你传入表示调用用户上下文的 XboxLiveContextHandle。要创建 XBOX Live(网络)上下文,请使用 XblContextCreateHandle API,并传入从上一步获取的 XUserHandle 对象。
向 XBOX 服务进行服务调用
现在你有了一个与已登录用户的XUserHandle 对象关联的 XboxLiveContext 对象,就可以向 XBOX 服务进行服务调用了。
例如,要检索用户的好友列表,你可以执行以下操作:
清理 XSAPI
在任何场景中,都不必调用XblCleanupAsync()。
在应用程序终止场景中,目前没有可以调用的同步 XblCleanup() API。应用程序终止就其生命周期本质而言,需要同步立即处理。因此,依赖于随应用程序进程终止而发生的正常操作系统级清理,这对于此情况已经足够。
在应用程序被挂起的场景中,XSAPI 会处理释放并随后恢复运行所需的系统资源,以便在恢复后保持功能。
在你的游戏选择有意释放分配给 XSAPI 的资源的情况下,仍然可以使用 XblCleanupAsync()。