设置沙盒

概述

本主题介绍如何获取设置沙盒和配置应用程序以使用 Xbox 服务所需的 ID。

Sandboxes(沙盒)为单独的开发工具包提供内容隔离,同时提供一个干净的开发和测试环境。

Xbox 服务提供在线功能,如事件、成就和多人游戏功能等等。

若要启用沙盒并使用 Xbox 服务,需要获取多个 ID 来配置开发工具包和游戏。

可以使用相同的过程完成这些操作。

该过程如下所示。

  1. 获取您的 ID。
  2. 在开发工具包上设置 Sandboxes(沙盒)。
  3. 将 TitleID 与游戏以及其他可选标识符绑定。

关键的 ID

Xbox One(或更高版本)的游戏和应用程序开发有三个关键的 ID:沙盒 ID、游戏 ID 和服务配置标识符 (SCID)。

虽然必须有沙盒 ID 才能使用开发工具包,但初始开发不需要 TitleID 和 SCID,但只要使用 Xbox 服务就需要用到这两个 ID。 因此,我们建议您同时获取所有三个 ID。

Sandboxes(沙盒) ID

Sandboxes(沙盒)在开发期间为您的开发工具包提供内容隔离,可确保您拥有一个全新的环境,用于开发和测试您的游戏。 Sandboxes(沙盒) ID 用于标识您的 Sandboxes(沙盒)。 主机一次只能访问一个 Sandboxes(沙盒),尽管一个 Sandboxes(沙盒)可供多个主机访问。

Sandboxes(沙盒) ID 区分大小写。

TitleID

TitleID 用于向 Xbox 服务唯一地标识你的游戏。 TitleID 用于整个服务,使用户可以访问游戏的 Xbox 内容、其用户统计数据和成就等内容,并支持 Xbox 多人游戏功能。

游戏 ID 可以区分大小写,具体视使用方式和位置而定。

Service Configuration(服务配置)标识符 (SCID)

在开发过程中,您将创建事件、成就和其他一系列联机功能。 这些内容都属于您的 Service Configuration(服务配置),需要 SCID 才能访问。

与先前版本的 Xbox 操作系统不同,为 Microsoft GDK Game OS 开发的游戏只有单一 SCID,因此,特定沙盒中游戏的所有实例都共享相同的配置。

Microsoft GDK Game OS SCID 始终是一个与 TitleID 具有相同值的 GUID,而前面附加若干个零。 对于 Microsoft 游戏开发工具包 (GDK) 游戏中与 Xbox 服务之间的绝大多数互动,不再需要明确指定 SCID,但如果直接与 Xbox 服务 REST 终结点交互,则可能需要它。

SCID 区分大小写。

获取您的 ID

当前,您将通过与开发者客户经理 (AM)合作来获取您的 ID。

设置一个 Sandboxes(沙盒)

不设置 Sandboxes(沙盒) ID 将无法启动您的开发工具包。 若要执行此操作,请打开 GDK 命令窗口,并使用配置 (xbconfig.exe)(NDA 主题)要求授权命令,如下所示。

  1. 查看当前 Sandboxes(沙盒)。 在命令提示符中输入 xbconfig sandboxid
  2. 如果不符合预期,请更改沙盒 ID。 在命令提示符处输入 xbconfig sandboxid=<沙盒 ID>
  3. 通过在命令提示符中使用重新启动 (xbreboot.exe)(NDA 主题)要求授权重新启动您的主机。
  4. 验证 Sandboxes(沙盒)是否已正确重置。 在命令提示符中输入 xbconfig sandboxid

将 TitleID 和其他可选标识符添加到 Binary(二进制)文件

虽然在平台级别上为每个开发工具包配置了 Sandboxes(沙盒),但 TitleID 绑定到特定的 Binary(二进制)文件。 要向 Binary(二进制)文件添加 TitleID,请通过在 <Game> 节点中添加新节点来修改此 Binary(二进制)文件的 MicrosoftGame.config,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    ...
    <TitleId>yourTitleId</TitleId>
    <StoreId>yourStoreId</StoreId>
    <MSAAppId>yourMSAAppId</MSAAppId>
    ...
</Game>  

注意

自 2022 年 3 月 Microsoft 游戏开发工具包 (GDK) 起,如果在 MicrosoftGame.config 中指定了其中一个,则需要 MSAAppId 和 TitleId。有关详细信息,请参阅 MicrosoftGame.config Element - MSAAppIdMicrosoftGame.config Element - TitleId

RequiresXboxLive 标志

如果 RequiresXboxLive 标志设置为 true,则游戏将不会启动,除非与 Xbox 网络(也称为 Xbox Live)存在活动连接,并且游戏会清除与 Xbox 服务的身份验证。 这可以确保游戏采用了最新的内容更新。 如果在游戏运行时连接丢失,则会暂停游戏,然后终止游戏。

只有“需要 Internet”的游戏应将 RequiresXboxLive 标记为 true。 注意,以这种方式标记您的游戏并不能保证游戏所需的服务已启动并正在运行。 同样地,RequiresXboxLiveMicrosoftGame.config 文件中 Game 下的一个节点。