> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 沙箱

> 了解 XBOX 沙箱如何隔離內容以進行開發和測試，包括在沙箱中建立產品，以及使用 MSA 控制存取權。

在沙箱中建立 XBOX 遊戲。這種做法稱為「*內容隔離*」。當您在沙箱中建立產品時，可以在只有選定使用者才能存取的隔離環境中測試產品。存取權僅限於具有登入沙箱權限的 Microsoft 帳戶 (MSA)。

沙箱是 XBOX 遊戲開發不可或缺的一環。沙箱提供一個環境，可讓您搭配 Microsoft Store 體驗測試 XBOX services，例如多人遊戲和成就。您可以測試遊戲安裝體驗，並檢閱您的 Store 產品詳細資料頁面 (PDP)，包括 **Store listings**、**Properties** 和 **Gaming metadata**。

某些產品類型會自動支援沙箱。對於其他產品類型 (例如遊戲套件組合)，請在建立產品時選取 **Create this product in a sandbox**。

如果您的產品符合下列情況，則必須在沙箱中建立：

* 使用 XBOX services。
* 是具有個別 Microsoft Store 清單的附加元件。
* 是父產品位於沙箱中的附加元件。
* 是包含使用 XBOX services 之產品的套件組合。
* 包含一或多個 XVC 套件。

## 分支與沙箱之間的差異

分支和沙箱是不同的概念，您在開發和發佈期間經常會一起使用它們。在 Partner Center 中，每個支援的模組都有自己的分支。**Main** 分支是預設分支。當您建立產品時，它會自動出現在所有模組中。您可以在每個支援的模組中建立額外的分支：**Packages**、**Store listings** 以及 **Pricing and availability**。每個分支都是該模組專屬的。例如：

* **Packages** 中的 Test 分支與 **Store listings** 中的 **Test** 分支彼此獨立。
* 您在某個模組分支中所做的變更，不會自動反映到其他模組。

使用分支來設定及測試不同的設定，以便在不同的沙箱中使用。例如，若要在不覆寫已發佈設定的情況下測試價格變更，請在 **Pricing and availability** 中建立名為 **New pricing** 的新分支，從 **Main** 分支匯入您目前的設定，然後在新分支中進行所需的變更。當您準備好發佈這些變更時，可以將它們匯入 **Main** 分支。

如需詳細資訊，請參閱[分支](/zh-TW/publishing/game-publishing/concepts/branches)。

## 沙箱類型

沙箱有兩種類型：**全域**和**開發**。

* 全域沙箱包括 **RETAIL** (玩家存取遊戲和服務的位置)，以及其他用於認證測試的沙箱。
* 開發沙箱是您 Partner Center 帳戶專屬的沙箱。您可以使用這些沙箱來開發及測試您的產品。

### 隔離式與共用開發沙箱

您可以將開發沙箱設定為 **Isolated** 或 **Shared**。

* 您帳戶中的任何產品都可以使用 **Shared** 沙箱。
* 只有您指定的產品可以使用 **Isolated** 沙箱。

如果您將沙箱設定為 Isolated，則必須選取可以發佈到該沙箱的產品。附加元件會繼承其父產品的權限。若要更新產品清單，請在 **Sandboxes** 頁面上選取沙箱，然後在接下來的頁面上選取 **Manage approved products**。您也可以隨時在 **Isolated** 與 **Shared** 之間變更沙箱的類型。

## 沙箱識別碼

每個 Partner Center 帳戶都可以存取 100 個開發沙箱。每個開發沙箱都有一個由兩個部分組成的唯一識別碼：一個是您 Partner Center 帳戶專屬的前置詞 (例如 ABCDEF)，另一個是介於 0 到 99 之間的數值。這兩個部分合起來構成沙箱識別碼，例如 **ABCDEF.1**。

全域沙箱的名稱不含數值，例如 **RETAIL**。

常見的做法包括：

* 一或多個用於開發的沙箱。例如，為每個開發團隊各準備一個沙箱。
* 一或多個用於 QA 的沙箱。例如，為內部 QA 團隊準備一個沙箱，並為您合作的每個外部 QA 團隊各準備一個沙箱。
* 一個用於認證預備的沙箱，作為準備及測試您提交認證之候選版本的位置。

這種結構可讓您的團隊保持敏捷，並專注於各自負責的產品領域。

## 建立和管理開發沙箱

當您在沙箱中建立新遊戲時，會在 **Game setup** 頁面中選取主要開發沙箱。如果您尚未建立任何沙箱，請選取 **Manage sandboxes** 前往 **Sandboxes** 頁面，並建立您的第一個開發沙箱。您可以視需要返回 **Sandboxes** 頁面建立新的開發沙箱。您可以從 **Apps and games** 儀表板和產品的設定頁面存取此頁面。

如需詳細資訊，請造訪：[如何建立和管理開發沙箱](/zh-TW/publishing/game-publishing/how-to/how-to-create-and-manage-sandboxes)。

## 建立和管理測試帳戶

您必須先使用已授權的 MSA 登入沙箱，才能存取在該沙箱中發佈的任何產品或 XBOX services。全域沙箱 (例如 **RETAIL**) 使用標準 MSA。開發沙箱使用您在 Partner Center 中建立的 XBOX 測試帳戶。您可以控制每個測試帳戶能存取的沙箱。若要建立及設定測試帳戶，請前往 **Apps and games** 儀表板，然後選取 **XBOX test accounts**。在這裡，您可以：

* 建立測試帳戶批次。
* 檢視及修改測試帳戶批次的屬性，例如帳戶類型和沙箱存取權。
* 檢視測試帳戶批次的詳細資料，例如批次中每個測試帳戶的電子郵件、玩家代號、XUID 和權限。
* 刪除測試帳戶批次。

如需詳細資訊，請參閱[如何建立和管理 XBOX 測試帳戶](/zh-TW/publishing/game-publishing/how-to/how-to-create-and-manage-test-accounts)。

## 將產品發佈到沙箱

將您的產品發佈到沙箱，以便檢視或測試。

### 發佈 XBOX services

如果您只需要發佈遊戲的 XBOX services，請前往 **Gameplay settings**，選取 **Publish**，然後選取要將設定發佈到何處。

### 發佈產品

若要發佈產品，請使用 **Review and publish** 選項。您可以從產品的 **Overview** 頁面存取此選項。在 **Review and publish** 頁面上，於 **Publish to** 下拉式清單中選取預定的目的地。如果您選取 **RETAIL**，則只能從產品的 **Main** 分支發佈。如果您選取開發沙箱，則可以選擇 **Publish from** 的來源。您可以選取 **RETAIL** (如果產品已發佈到此沙箱) 或 **Custom**。選取 **Custom** 可讓您為產品的每個模組選擇具有預定設定的分支。

選取 **Publish** 之後，請查看 **Overview** 頁面上顯示的資訊來監視發佈狀態。您可以選取 **History** 來檢閱先前的發佈詳細資料。

<Note>
  您唯一可以發佈到的全域沙箱是 RETAIL。若要提交更新以進行認證，請使用 **Certify** 工作流程。
</Note>

## 在沙箱中測試產品

發佈到沙箱後，請使用已授權的帳戶登入沙箱。如果您只發佈了 XBOX services，則可以使用透過 Game Development Kit (GDK) 工具部署到裝置的套件來連線到這些服務。如果您發佈了完整產品，該產品在沙箱中的 Microsoft Store 是否可用，取決於 **Pricing and availability** 模組中設定的 **Schedule**。如需詳細資訊，請參閱[將產品設定為在 Microsoft Store 中可見且可購買](/zh-TW/publishing/game-publishing/how-to/how-to-visible-release)。

如果您將產品的 **Pricing and availability** 模組設定為未來的 **Release** 日期或 **Discoverable in the Microsoft Store** 日期，就無法使用 Microsoft Store 中的搜尋功能找到該產品。您可以使用 Partner Center 中產品 **Setup** 頁面上的 Store 通訊協定連結找到該產品。

<Note>
  如果您在產品 **Pricing and availability** 模組的 **Visibility** 區段中設定了[私人對象](/zh-TW/publishing/game-publishing/concepts/availability/visibility-audiences)，並不會影響產品在開發沙箱中的可見度。**Private audience** 僅適用於在 RETAIL 沙箱中發佈的產品。
</Note>

## 管理使用者的沙箱層級權限

[將使用者新增至您的 Partner Center 帳戶](https://learn.microsoft.com/windows/apps/publish/partner-center/overview-users-groups-azure-ad-applications)時，您可以[授與自訂權限](https://learn.microsoft.com/windows/apps/publish/partner-center/overview-of-roles-and-permissions-for-account-users)。對於 **Test accounts** 和 **XBOX devices** 帳戶層級權限，您可以選取使用者具有這些權限的特定沙箱。若要這麼做，請選取該權限，然後選取 **All sandboxes** 或一或多個個別沙箱。勾選 **All sandboxes** 會將權限授與所有現有沙箱以及未來建立的任何沙箱。若要將權限授與所有目前的沙箱但不包括未來的沙箱，請清除 **All sandboxes**，然後個別選取每個沙箱。

## 另請參閱

* [如何建立和管理開發沙箱](/zh-TW/publishing/game-publishing/how-to/how-to-create-and-manage-sandboxes)
* [分支](/zh-TW/publishing/game-publishing/concepts/branches)
* [檢閱並發佈](/zh-TW/publishing/game-publishing/concepts/modular-submission)
* [管理帳戶使用者](https://learn.microsoft.com/windows/apps/publish/partner-center/manage-account-users)


## Related topics

- [Steamworks 中不存在的 GDK 功能](/zh-CN/build/steam-porting-guide/gdk-features-not-in-steamworks.md)
- [将 GDK 集成到自定义 C/C++ 引擎](/zh-CN/build/gdk-and-engines/custom-engine.md)
- [PC 开发者常见问题](/zh-CN/build/gdk-and-engines/guides/pc-faq.md)
- [在 GameMaker 中使用 GDK](/zh-CN/build/gdk-and-engines/gamemaker.md)
- [XBOX 主機遊戲的認證測試 XBOX 需求](/zh-TW/publishing/certification/console-cert-tested-requirements.md)
