> ## 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.

# XR-052 使用者狀態與遊戲存檔位置、漫遊及相依性

> 遊戲必須將進度、已儲存的狀態、喜好設定、成就和其他獎勵，與記錄該進度、選擇該喜好設定或獲得該獎勵的使用者建立關聯。

版本 2.0，11/01/2025

遊戲必須將進度、已儲存的狀態、喜好設定、成就和其他獎勵，與記錄該進度、選擇該喜好設定或獲得該獎勵的使用者建立關聯。遊戲可透過正確處理使用者變更通知來達成此目的。遊戲必須避免為已不再登入的使用者儲存狀態。遊戲存檔資料不得相依於共用內容或本機儲存空間。

對於跨平台、裝置及/或主機世代使用相同 TitleID 的遊戲，當使用者登入 XBOX 網路時，遊戲存檔進度必須依下列方式漫遊：

* 在相同平台內 (XBOX 主機)。
* 在相同平台的裝置之間 (例如 XBOX One 和 XBOX One S)。
* 在裝置平台的不同世代之間 (例如 XBOX One 和 XBOX Series X|S)。
* 在 Windows 平台的 PC 之間 (例如在兩部不同的 PC 之間)。
* 如果遊戲是 XPA，則在 Windows 平台的 PC 與 XBOX 主機平台之間 (例如 Windows 和 XBOX Series X|S)。
* 對於非 XPA 遊戲，在 Windows 平台的 PC 與 XBOX 主機平台之間 (例如 Windows 和 XBOX Series X|S) 漫遊並非必要，但建議支援以提升玩家體驗。
* 對於非 Microsoft 平台 (例如 iOS、Android、Switch、PlayStation®)，遊戲存檔漫遊並非必要，但建議支援以提升玩家體驗。

## 更多資訊

共用內容是指載入遊戲存檔時，可能不存在於漫遊目的地主機上的內容，例如遊戲附加元件。該內容可能無法使用，原因是目前登入的使用者尚未下載或並未擁有該內容。

用於儲存玩家資料的 API 和服務因 SDK 而異：

| GDK/SDK | 是否需要漫遊存檔？ | 支援的 API |
| - | - | - |
| GDK | 必要 | xgamesave.h 中的 `XGameSave` API |
| 使用 XDK 的 ERA | 必要 | `Windows.Xbox.Storage` 命名空間中的 ConnectedStorage API |
| Windows SDK - UWP | 必要 | `Windows.Gaming.XboxLive.Storage` 命名空間中的 GameSaveProvider API |

* 如需使用 GDK 儲存遊戲狀態的相關資訊，請參閱 [遊戲存檔概觀](/zh-TW/build/core-features/common/game-save/game-saves-overview)。
* 如需使用 GDK 管理遊戲狀態及儲存資料的相關資訊，請參閱 [XBOX 遊戲生命週期](/zh-TW/build/console-features/console-workflows/xbox-game-life-cycle)。

此需求的一個主要層面，是處理遊戲在作用中、暫停或終止期間，遊戲的主要使用者發生變更的情況。當遊戲從上次啟用遊戲之使用者以外的另一位使用者的首頁畫面啟用時，遊戲的「主要使用者」就會變更，而且主機上的其他使用者可以在遊戲存留期間的任何時間點登入或登出。遊戲必須提供適合主要使用者和主機上其他使用者的體驗，並為每位使用者儲存遊戲狀態資訊。由於使用者可以在任何特定遊戲的內容之外登入 (及登出) XBOX 網路，遊戲必須能穩健地處理使用者變更的情況。例如，遊戲應避免使用已不再登入之使用者的權杖或識別碼。

遊戲不得造成使用者資料意外遺失。

## 認證測試案例

下表顯示使用 GDK 簡化使用者模型，或使用 GDK 進階使用者模型、ERA 及 UWP 多使用者應用程式時，哪些測試案例適用於您的遊戲。如需有關使用簡化使用者模型與進階使用者模型的其他詳細資料，請參閱 [XR-112](/zh-TW/publishing/certification/xr/xr-112)。

| 測試案例 | 適用於 GDK 簡化使用者模型 | 適用於 GDK 進階使用者模型、ERA 及 UWP MUA |
| - | - | - |
| 052-01 使用者登入與登出 | 否 | 是 |
| 052-02 暫停、睡眠與休眠期間的使用者變更 | 否 | 是 |
| 052-05 正確的使用者關聯 | 是 | 是 |
| 052-06 雲端儲存空間：漫遊 | 是 | 是 |

### 052-01 使用者登入與登出

**組態**<br />此測試案例僅適用於主機。

**測試步驟**

1. 確保設定檔 A 和設定檔 B 已將主機設定為首頁。
2. 確保設定檔 A 具有存檔資料，包括遊戲進度和使用者喜好設定。
3. 確保設定檔 B 沒有任何存檔資料。
4. 登入設定檔 A 並啟動遊戲。瀏覽遊戲的所有區域，確保所有存檔資料和喜好設定都已保留，包括但不限於：
   * 單人或多人遊戲工作階段
   * 選單
   * 影片或音訊播放
5. 登出設定檔 A 並登入設定檔 B。
6. 重新瀏覽步驟 4 中驗證的遊戲所有區域，確認遊戲正確更新了設定檔 B 的使用者進度、已儲存的狀態、喜好設定、成就或其他獎勵。
7. 開始遊戲以建立存檔進度，並變更設定檔 B 的使用者喜好設定。
8. 終止並重新啟動遊戲，然後確認步驟 7 中的存檔資料已正確反映。
9. 登出設定檔 B。
10. 從設定檔 A 刪除「所有位置」的存檔資料，然後重複步驟 4-8。

**預期結果**<br />遊戲應適當處理主要使用者的變更。

**通過範例**

1. 在使用者變更之後，使用者進度、已儲存的狀態、喜好設定、成就或其他獎勵都與正確的使用者建立關聯。

**失敗範例**

1. 在使用者變更之後，遊戲將使用者進度、已儲存的狀態、喜好設定、成就或其他獎勵與錯誤的使用者建立關聯。
2. 遊戲持續將存檔資料授予第一位使用者。
3. 先前的使用者登出之後，新使用者可以變更其存檔資料、狀態或設定檔。

### 052-02 暫停、睡眠與休眠期間的使用者變更

在 XBOX 主機上，遊戲會在下列情況下暫停：

* 當電源模式設定為立即開機時關閉主機，使主機進入連線待命。
* 當遊戲持續失去焦點十分鐘時。例如，啟動「設定」等應用程式並讓其保持焦點十分鐘。

在 PC 和手持裝置上，請在步驟 2 讓系統進入睡眠或休眠。

**測試步驟**

1. 登入 XBOX 設定檔並啟動遊戲。
2. 在整個遊戲的各個位置暫停遊戲。
3. 登出主要使用者，並以其他使用者身分登入。
4. 使用新使用者啟動遊戲，並嘗試從先前使用者的位置繼續。
5. 針對遊戲的所有區域重複步驟 1-4。

**預期結果**<br />遊戲從暫停、睡眠或休眠狀態繼續時，必須確認所有先前參與的使用者是否仍登入遊戲裝置。遊戲應適當處理主要使用者的變更。

**通過範例**

1. 遊戲在繼續時自動將作用中的使用者內容切換為新使用者。
2. 遊戲自動從遊戲中移除先前的使用者，或重新建立新使用者，並使用該新使用者的狀態進行遊戲。
3. 在使用者變更之後，使用者進度、已儲存的狀態、喜好設定、成就或其他獎勵都與正確的使用者建立關聯。

**失敗範例**

1. 在使用者變更之後，遊戲將使用者進度、已儲存的狀態、喜好設定、成就或其他獎勵與錯誤的使用者建立關聯。
2. 遊戲持續將存檔資料授予第一位使用者。
3. 先前的使用者登出之後，新使用者可以變更其存檔資料、狀態或設定檔。
4. 選取新的設定檔之後，遊戲仍持續使用先前使用者的狀態。

### 052-05 正確的使用者關聯

**測試步驟**

1. 登入設定檔並啟動遊戲。
2. 進入遊戲並儲存遊戲進度。
3. 終止遊戲。
4. 登出步驟 1 中的設定檔，並登入新的設定檔。
5. 啟動遊戲並嘗試存取已儲存的進度。

**預期結果**<br />為原始使用者儲存的進度，不得對新的設定檔顯示或供其存取。

**通過範例**

1. 步驟 5 中只顯示與步驟 4 中新設定檔相關聯的已儲存進度。

**失敗範例**

1. 遊戲允許新的設定檔載入其他設定檔已儲存的進度。

### 052-06 雲端儲存空間：漫遊

**所需裝置**

* XBOX One
* XBOX One S
* XBOX One X
* XBOX Series X 開發套件 (使用 XBOX Series X|S 零售主機模式)
* 2 部 PC

**測試步驟**

1. 在裝置 A 上登入 XBOX 設定檔並啟動遊戲。
2. 開始遊戲並建立存檔進度 (如果可能，請透過變更或新增設定組態來建立設定存檔)。
3. 結束遊戲。
4. 使用步驟 1 中所用的相同設定檔，登入與步驟 1 中所用裝置相同平台/世代的第二部裝置 (例如 XBOX Series S 和 XBOX Series X、XBOX One 和 XBOX One S，以及第二部 PC)。
   * 啟動步驟 1 中的相同遊戲，並確認所有遊戲存檔及任何設定及/或組態檔都可以正確存取及載入，且不相依於任何共用內容。
5. 對於在相同平台上跨世代使用相同 TitleID 的遊戲 (例如 XBOX One 和 XBOX Series X|S)，請重複步驟 4。
6. 對於在 Windows 平台上使用相同 TitleID 的 PC 遊戲，請重複步驟 4。
7. 如果支援，對於跨平台使用相同 TitleID 的遊戲 (例如 Windows 和 XBOX Series X|S)：
   * 在其他支援的平台上啟動步驟 1 中的相同遊戲，並確認所有遊戲存檔及任何設定及/或組態檔都可以正確存取及載入，且不相依於任何共用內容。

**預期結果**<br />遊戲存檔進度必須與使用者設定檔建立關聯，且當使用者登入 XBOX 服務時，必須在同類裝置/平台之間漫遊。對於在相同平台上跨世代使用相同 TitleID 的遊戲，遊戲存檔資料必須在這些平台之間漫遊。對於在 Windows 平台上使用相同 TitleID 的 PC 遊戲，遊戲存檔資料必須在不同的 PC 之間漫遊。遊戲存檔資料不得相依於任何共用內容。

**通過範例**

1. 遊戲存檔和相關聯的設定檔案可以在相同主機平台/世代的第二部主機上成功下載 (例如 XBOX Series S 和 XBOX Series X，或 XBOX One 和 XBOX One S)。
2. 遊戲存檔和相關聯的設定檔案可以在 Windows 平台的第二部 PC 上成功下載。
3. 對於在相同平台上跨世代共用相同 TitleID 的主機遊戲 (例如 XBOX One 和 XBOX Series X|S)，存檔和相關聯的設定檔案可以在這些裝置之間漫遊。
4. 遊戲存檔資料不相依於任何共用內容。

**失敗範例**

1. 遊戲存檔和相關聯的設定檔案無法在相同平台/世代的第二部主機上成功下載 (例如 XBOX Series S 和 XBOX Series X，或 XBOX One 和 XBOX One S)。
2. 遊戲存檔和相關聯的設定檔案無法在 Windows 平台的第二部 PC 上成功下載。
3. 對於在相同平台上跨世代共用相同 TitleID 的主機遊戲 (例如 XBOX One 和 XBOX Series X|S)，存檔和相關聯的設定檔案無法在這些裝置之間漫遊。
4. 遊戲在第一次啟動時無法辨識雲端中的存檔，且在沒有任何使用者互動的情況下，這些存檔隨後在第二部裝置上遭到覆寫。
5. 遊戲存檔資料相依於共用內容。


## Related topics

- [XBOX 主機遊戲的認證測試 XBOX 需求](/zh-TW/publishing/certification/console-cert-tested-requirements.md)
- [XR052 使用者狀態與遊戲存檔位置、漫遊及相依性](/zh-TW/publishing/certification/fma/xr-052.md)
- [XBOX 遊戲的 XBOX 需求](/zh-TW/publishing/certification/xbox-requirements.md)
- [最常失敗的測試案例](/zh-TW/publishing/certification/xr-top-failing.md)
- [XBOX 需求與原則支援內容](/zh-TW/publishing/certification/xr/overview.md)
