Skip to main content
版本 16.4 - 08/11/2026 XBOX 需求 (XR) 包含所有 XBOX 主機遊戲開發人員和發行者必須遵守的原則、技術需求,以及產品元件相關需求。XR 可確保為 XBOX 主機打造的產品不僅穩定可靠,也能提供一致、安全、有保障且令人愉快的使用者體驗。 除非另有說明,否則所有 XBOX 需求都適用於所有通過 XBOX 認證的遊戲,涵蓋其發行的所有裝置,包括 XBOX One 和 XBOX Series X|S 主機世代、PC (包括掌上型裝置),以及 XBOX Cloud Gaming (xCloud)。
[!Important] 認證小組會針對所有最終提交,在 CERT 沙箱中使用零售硬體進行測試:主機測試案例使用零售版 XBOX 主機,裝置特定測試案例則使用對等的零售硬體 (例如零售版 PC 或掌上型裝置)。先前,部分測試案例依賴在 XBOX 開發套件上執行的 GDK 命令。這些案例已經修訂為僅使用零售硬體上可用的步驟。選用提交仍會在 CERT.DEBUG 沙箱中的開發套件上進行測試。

測試暫停、睡眠和休眠

許多測試案例會驗證遊戲在從低電源或暫停狀態繼續_之後_的行為。由於這些轉換可能在正常遊玩期間發生,遊戲必須保留進度、獎勵和成就,而且繼續時不得重新啟動、當機、停止回應或遺失進度。本節說明如何在各個裝置上讓遊戲進入這些狀態。會暫停、睡眠或休眠遊戲的測試案例會指出應該使用哪些方法,以及哪些方法適用於受測裝置。 XBOX 主機 如需深入了解構成遊戲生命週期的概念和事件,請參閱 XBOX 遊戲生命週期。其中示範如何在遊戲中實作遊戲狀態和狀態變更事件。 在 XBOX 主機上,遊戲會在下列情況下暫停:
  • 在電源模式設定為「立即開啟」的情況下關閉主機,使主機進入連線待命時。
  • 遊戲持續失去焦點達十分鐘時。例如,啟動「設定」等應用程式,並讓其保持焦點十分鐘。
PC 和掌上型裝置 若要讓 PC 或掌上型裝置進入睡眠,請開啟 [開始] 功能表,然後選取 [電源] → [睡眠]。 若要讓 PC 或掌上型裝置休眠,請開啟 [開始] 功能表,然後選取 [電源] → [休眠]。如果看不到 [休眠],請透過 [控制台] → [電源選項] → [選擇按下電源按鈕時的行為] → [變更目前無法使用的設定] → [休眠] 加以啟用。

基本需求

此類別中的需求適用於程式碼撰寫標準、遊戲行為及遊戲提交的一般規則。

XR-001:遊戲穩定性 *

遊戲必須符合 Microsoft Store 關於遊戲穩定性的原則。下列原則適用於此需求: 10.4.2
產品必須迅速啟動、持續執行,並保持回應使用者輸入。產品必須正常關閉,不得意外關閉。產品必須處理任何受控或原生系統 API 所引發的例外狀況,並在處理例外狀況後保持回應使用者輸入。

001-01 遊戲穩定性

測試步驟
  1. 登入 XBOX 設定檔。
  2. 啟動遊戲。
  3. 瀏覽遊戲的所有區域,包括但不限於:
    • 遊戲過程
    • 功能表和功能
    • 可下載內容 (DLC)
  4. 使用沒有先前儲存資料的新 XBOX 設定檔,在中斷與 XBOX 服務連線的情況下重複步驟 1-3。
預期結果
遊戲不穩定是指任何無法辨識使用者輸入,或使用者因軟體當機而無法繼續進行且未收到任何使用者通知的狀態。
通過範例
  1. 遊戲穩定。
  2. 遊戲不會造成非預期的使用者資料遺失。
失敗範例
  1. 遊戲當機、停止回應或導致主機重新開機。
  2. 遊戲導致使用者資料遺失。
  3. 出現持續超過二十秒的非互動式暫停或靜態畫面。
  4. 遊戲包含超過兩分鐘且沒有任何進度指示的載入畫面。
  5. 遊戲包含超過三分鐘且具有進度指示器的載入畫面。

001-02 暫停、睡眠和休眠後的遊戲穩定性

此測試會驗證在 XBOX 主機上從暫停繼續,以及在 PC 和掌上型裝置上從睡眠或休眠繼續時的遊戲穩定性。如需如何在主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠和休眠,請參閱測試暫停、睡眠和休眠。就此測試案例而言,請在步驟 3 驗證受測裝置上可用的每一種方法。 測試步驟
  1. 登入設定檔並啟動遊戲。在 XBOX 主機上,將主機電源模式設定為「立即開啟」。
  2. 進入遊戲過程。
  3. 在遊戲中的各個時間點,包括功能表和所有遊戲模式:
    • 在 XBOX 主機上,暫停遊戲。
    • 在 PC 和掌上型裝置上,讓系統進入睡眠,然後再進入休眠。
  4. 裝置重新開啟電源後,繼續遊戲並確認使用者可以從上次的遊戲位置繼續。
  5. 繼續進行到下一個存檔點、儲存遊戲,然後返回主功能表。
  6. 重新載入步驟 5 中建立的存檔,並確認所有進度仍然存在。
  7. 在整個遊戲中重複步驟 3-6。
預期結果
遊戲繼續時,會發生下列情況:
  1. 遊戲不會當機、停止回應或造成非預期的遊戲進度遺失。
  2. 遊戲不會完全重新啟動,也不會要求使用者重新啟動遊戲。
  3. 遊戲會重新建立與 XBOX 和/或合作夥伴服務的線上連線。
此外,使用者返回遊戲過程後,不得遺失任何存檔進度。 通過範例
  1. 遊戲不會當機、停止回應或造成非預期的遊戲進度遺失。
  2. 遊戲不會完全重新啟動,也不會要求使用者重新啟動遊戲。
  3. 所有功能表和遊戲模式都可存取,且使用者可以從上次的遊戲位置繼續。
  4. 系統提示使用者是否要從上次的遊戲位置繼續。
  5. 遊戲返回先前的功能表或初始互動狀態。
  6. 在需要線上服務連線的線上遊戲過程中,於主機上暫停,或讓 PC 或掌上型裝置進入睡眠或休眠後,遊戲會繼續並讓使用者返回先前的功能表或初始互動狀態。
  7. 遊戲會重新建立與 XBOX 和/或合作夥伴服務的線上連線。
  8. 遊戲因連線儲存體不同步而遭系統終止。
失敗範例
  1. 遊戲當機、停止回應或重新啟動。
  2. 遊戲因無法暫停、睡眠或休眠而遭終止,或在繼續後意外遭終止。
  3. 使用者無法載入上次的存檔位置。
  4. 遊戲未重新建立與 XBOX 和/或合作夥伴服務的線上連線,或使用者無法重新建立與合作夥伴託管服務的連線。

XR-003:提交的遊戲品質 *

XBOX 遊戲必須符合 XBOX 品質標準,並且功能完整且可供測試。

功能完整且可供測試

遊戲提交認證時,必須功能完整且可供測試。這包括所有用戶端程式碼、提交成品和可下載內容。遊戲必須使用目前版本的提交驗證程式乾淨地封裝,且沒有任何失敗。提交時必須附上提交驗證程式記錄。

XBOX 品質標準

XBOX 遊戲必須在所有遊戲模式和情境中正常運作,以符合玩家的期望。
遊戲完整性
遊戲不得有嚴重問題,例如當機、凍結、無法遊玩的畫面播放速率、導致進度嚴重受阻的錯誤,或圖形損毀。遊戲設定、選項和控制項必須正確套用,並在適當情況下遵循預設設定。瀏覽和內容可用性應順暢無阻,不得有死路或無法存取的功能表。無論玩家人數多寡,多人遊戲功能都必須穩定且可正常運作。
遊戲存檔相容性
內容更新後,遊戲存檔和玩家進度必須能繼續正常運作。此外,使用基本光碟版本載入已更新的存檔時,不得發生永久性資料遺失。

其他資訊

不正確和不完整的提交將會被認證拒絕。提交認證之前,請務必檢閱在 Partner Center 中提交至 XBOX 認證文件。如有提交認證的相關問題,請聯絡您的 Microsoft 連絡人。
提交驗證程式
提交驗證程式並非開發人員使用的獨立工具。相反地,每當使用 makepkg pack 命令時,系統就會自動呼叫它來檢查應用程式。如需語法和命令列使用方式的詳細資訊,請參閱 makepkg 參考頁面。 提交驗證程式所識別的問題類型會隨著時間成長和演進,目標是讓從提交、通過認證到上市的過程更加順暢。如需提交驗證程式目前偵測的問題清單,請參閱提交驗證程式品質檢查。
合作夥伴託管服務
提交認證時,遊戲執行所需的合作夥伴服務必須正常運作並正確設定。這些服務會在排定遊戲測試之前進行驗證,而且在整個認證期間都必須保持正常運作。

實作指引和最佳做法

選項和設定
遊戲設定 (例如選項、控制項和語言) 在遊戲中更新時,以及在終止並再次啟動遊戲後,都會正確套用。在適當情況下會遵循預設設定。
瀏覽
所有瀏覽命令都必須如預期般運作。在主機上,遊戲必須能完全使用控制器瀏覽。內容中沒有死路,所有遊戲功能表都可瀏覽,且所有內容都可使用。
當地語系化支援
對於遊戲必須支援的當地語系化數量並無要求。在支援當地語系化文字的區域中,無論顯示設定為何,文字都必須清晰易讀。
排行榜
遊戲必須允許使用者將統計資料發佈到所有可用的排行榜,並使用所提供的篩選條件來排序這些排行榜。
主機上的耳機狀態變更
在主機上,連接、移除及重新連接耳機時,必須能持續聽到音訊。請參閱 XBOX One 軟體開發套件與 Microsoft Game Development Kit 音訊 API 的比較。
下表顯示哪些 XR-003 測試案例適用於您在主機或 PC 上的遊戲。

003-02 遊戲完整性

設定 測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 瀏覽所有功能表和子功能表、檢閱所有功能,並完成所有遊戲模式。
    • 與所有功能表 UI、額外內容、單人和多人遊戲模式互動並加以完成,包括所有支援語言中的任何其他功能。
    • 如果適用,請測試離線、線上和分割畫面。
    • 以最大玩家人數測試多人遊戲模式。
    • 將統計資料發佈到所有支援的排行榜。
預期結果
所有遊戲都必須為使用者提供可靠、公平、一致且完整的 XBOX 娛樂體驗。
通過範例
  1. 遊戲可以在所有遊戲模式中完成。
  2. 在遊戲過程中設定的選項,會在終止並重新啟動遊戲後保留。
  3. 遊戲的所有區域都可以如預期般瀏覽。
  4. 當地語系化文字在所有支援的區域中都能正確顯示。
  5. 使用者可以如預期般發佈到排行榜。
失敗範例
  1. 遊戲在關卡結束時當機,或使用者在遊戲的任何區域中無法繼續進行。
  2. 遊戲的某些區域無法如預期般瀏覽。
  3. 如果使用者透過暫停功能表反轉水平或垂直攝影機控制項,遊戲中的攝影機控制項並未變更。
  4. 使用者無法如預期般發佈到排行榜。
  5. 如果使用者已完成不同的模式,特定遊戲模式就無法完成。
  6. 在遊戲過程中設定的選項,在終止並重新啟動遊戲後重設為預設值。
  7. 遊戲因畫面播放速率問題而無法遊玩。

003-16 遊戲存檔相容性

測試步驟
  1. 登入 XBOX 設定檔,並在未連線到 XBOX 的情況下啟動遊戲。
  2. 遊玩遊戲並儲存您的進度和設定。
  3. 重新開機遊戲,並確認您可以載入並繼續步驟 2 中儲存的進度。
  4. 連線到 XBOX 並安裝基本遊戲的內容更新。
  5. 確認更新後您仍然可以載入並繼續您儲存的進度。
  6. 重新開機遊戲、開始新遊戲,然後再次儲存您的進度。
  7. 結束並解除安裝遊戲。
  8. 在未連線到 XBOX 網路的情況下,重新安裝並啟動基本遊戲。
  9. 確認發生下列其中一種情況:
    • 您可以載入並繼續您儲存的進度
    • 遊戲顯示訊息,指出存檔需要安裝內容更新
    • 遊戲不會顯示步驟 6 中建立的存檔
  10. 重新開機遊戲並安裝內容更新。
  11. 確認更新後您仍然可以載入並從您儲存的進度繼續。
預期結果
遊戲的內容更新版本必須能夠成功載入使用遊戲非內容更新版本所建立的存檔。
通過範例
  1. 所有存檔都可以由遊戲的內容更新版本成功載入。
  2. 啟動基本版本以載入更新的存檔時,系統會通知使用者缺少內容,並提供無法載入存檔的原因,或者在內容更新版本中建立的存檔不會在基本版本中顯示。
失敗範例
  1. 遊戲的內容更新版本無法載入使用遊戲先前版本所建立的遊戲存檔。
  2. 載入使用遊戲內容更新版本所建立的存檔時,遊戲的基本版本當機。

003-17 耳機狀態變更

測試步驟
  1. 將一副耳機連接到控制器,或以無線方式將一副耳機連接到遊戲裝置。
  2. 啟動遊戲並進入遊戲過程。
  3. 確認可以透過電視和耳機聽到音訊。
  4. 拔除耳機,確認音訊在短時間後恢復。
  5. 重新插上耳機,確認可以透過電視和耳機聽到音訊。
  6. 在整個遊戲中重複步驟 4-5。
預期結果
可以持續聽到音訊,且沒有任何問題。
通過範例
  1. 每當移除耳機時,音訊都會正常恢復。
  2. 連接耳機時,音訊會正常恢復。
失敗範例
  1. 耳機狀態變更後,不再聽到音訊。
  2. 耳機狀態變更後,音訊失真或損毀。

003-18 暫停、睡眠和休眠後的耳機狀態變更

如需如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠和休眠,請參閱測試暫停、睡眠和休眠。 就此測試案例而言,請在步驟 6 驗證受測裝置上可用的每一種暫停、睡眠和休眠方法。 測試步驟
  1. 登入設定檔。在 XBOX 主機上,將主機電源模式設定為「立即開啟」。
  2. 在 XBOX 主機上,於 XBOX 音訊設定下啟用 Windows Sonic for Headphones 作為您的耳機格式。
  3. 連接一副耳機。在 XBOX 主機上,將耳機連接到控制器或以無線方式連接到主機。在 PC 和掌上型裝置上,透過 USB、3.5 mm 或藍牙連接耳機。
  4. 啟動遊戲並進入遊戲過程。
  5. 確認可以透過電視和耳機聽到音訊。
  6. 在遊戲中的各個時間點:
    • 在 XBOX 主機上,暫停遊戲。
    • 在 PC 和掌上型裝置上,讓系統進入睡眠,然後再進入休眠。
  7. 繼續遊戲,並確認可以透過電視聽到音訊。
  8. 重新連接耳機,並確認可以透過電視和耳機聽到音訊。
  9. 在整個遊戲中重複步驟 6-8。
預期結果
可以持續聽到音訊,且沒有任何問題。
通過範例
  1. 每當移除耳機時,音訊都會正常恢復。
  2. 連接耳機時,音訊會正常恢復。
失敗範例
  1. 耳機狀態變更後,不再聽到音訊。
  2. 耳機狀態變更後,音訊失真或損毀。

003-20 串流安裝初始遊玩標記

包含初始遊玩標記的遊戲,在從初始遊玩標記啟動時,必須提供遊戲體驗。 如需有關 GDK 串流安裝或 Intelligent Delivery 的詳細資訊,請參閱串流安裝和 Intelligent Delivery 概觀。 測試步驟
  1. 登入 XBOX 設定檔。
  2. 安裝遊戲,並在初始遊玩標記完成安裝後啟動遊戲。
  3. 在遊戲完成完整安裝之前,嘗試進入遊戲的所有區域。
預期結果
初始遊玩標記安裝必須提供遊戲體驗 (例如教學課程、遊玩第一個關卡,或在一種遊戲模式中進行快速多人對戰)。
通過範例
  1. 從初始遊玩標記啟動時,遊戲會提供遊戲體驗 (例如教學課程、遊玩第一個關卡,或在一種遊戲模式中進行快速多人對戰)。
失敗範例
  1. 安裝初始遊玩標記後,遊戲未提供遊戲體驗。失敗的體驗包括:
    • 只顯示進度列
    • 播放影片和/或一連串的影像
    • 只提供主功能表的存取權
    • 任何其他非互動式體驗

XR-130:XBOX Series X|S 世代 *

所有以某個主機世代為目標的遊戲,都必須支援該世代的整個裝置系列。 為了維持各主機世代之間的一致性,遊戲必須:
  • 確保遊戲存檔可在同一世代內的各種主機類型之間運作。
  • 確保線上玩家不會依同一世代內的主機類型而被區隔。
  • 確保在同一世代內的各種主機類型上提供相同的遊戲模式。

130-02 遊戲存檔漫遊

所需工具
  • 1 部 XBOX Series S
  • 1 部 XBOX Series X
測試步驟
  1. 在裝置 A 上登入 XBOX 設定檔並啟動遊戲。
  2. 開始遊戲過程並建立存檔進度 (如果可能,請變更或新增設定組態以建立設定存檔)。
  3. 結束遊戲。
  4. 在同一世代的另一部裝置上,使用步驟 1 中所用的相同設定檔登入。
  5. 啟動步驟 1 中的相同遊戲,並確認所有遊戲存檔以及任何設定和/或組態檔都可以正確存取和載入,且不依賴特定的同世代裝置。
  6. 在同一世代的裝置之間重複上述所有步驟。
預期結果
遊戲存檔必須能在同一世代內的所有主機類型之間完整運作。
通過範例
  1. 在 XBOX Series S 上建立的遊戲存檔可在 XBOX Series X 上運作,反之亦然,涵蓋整個 XBOX Series 裝置系列。
失敗範例
  1. 在某個世代內建立的遊戲存檔,無法在該世代的所有裝置類型上完整載入。

130-03 線上區隔

所需工具
  • 1 部 XBOX Series S
  • 1 部 XBOX Series X
測試步驟
  1. 登入 XBOX 設定檔,並在同一世代的所有裝置類型上啟動遊戲。
  2. 完成一場包含所有裝置的 XBOX 網路多人遊戲工作階段。
  3. 在遊戲支援的所有 XBOX 網路多人模式中重複步驟 2。
預期結果
無論使用的是同一世代的哪種主機類型,XBOX 網路玩家都必須能夠加入其他 XBOX 網路玩家。
通過範例
  1. 同一世代裝置的所有主機都能在多人遊戲過程中互相對戰。
失敗範例
  1. XBOX 網路玩家在同一世代內依其主機類型而被區隔。

130-04 精選遊戲模式

所需工具
  • 1 部 XBOX Series S
  • 1 部 XBOX Series X
測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 找出並存取所有精選遊戲模式。
  3. 在同一世代的裝置之間重複上述所有步驟,並確保每部裝置上的所有遊戲模式都相同。
預期結果
必須在同一世代的裝置之間提供相同的遊戲模式。
通過範例
  1. 同一世代裝置的所有主機都提供同一組相同的遊戲模式。
失敗範例
  1. 同一世代裝置中有一部或多部主機,根據其同世代主機類型提供不同的遊戲模式。

XR-022:官方命名標準 *

在提及 XBOX 平台功能、服務、硬體或周邊設備時,遊戲必須使用最新版本術語清單中定義的命名標準。這些標準適用於每一款 XBOX 遊戲,無論其執行的裝置為何。 遊戲不得使用術語清單中未包含的詞彙,來顯示裝置或其周邊設備元件的影像或提及這些元件。

022-01 官方命名標準

測試步驟
  1. 啟動遊戲。
  2. 造訪遊戲的所有區域。
  3. 瀏覽所有功能表和子功能表。
  4. 變更所有可用的設定和選項。
  5. 如果遊戲支援存檔,請儲存並載入所有可能的遊戲類型。
  6. 觀看所有過場動畫。
  7. 記下顯示的所有文字和影像。
預期結果
所有文字都遵循最新的術語清單。影像不得使用術語清單中未明確包含的詞彙來顯示裝置或其周邊設備的元件。
通過範例
無
失敗範例
  1. 遊戲使用來自競爭平台的專屬詞彙或影像。
  2. 遊戲使用術語清單中未包含的任何詞彙來提及裝置元件或周邊設備。

XR-074:與 XBOX 和合作夥伴服務的連線中斷 *

遊戲必須妥善處理與 XBOX 和合作夥伴服務連線相關的錯誤。發生失敗後嘗試重試對 XBOX 服務的要求時,遊戲必須遵循 XBOX 所設定的重試原則。服務無法使用時,遊戲必須適當地管理對使用者顯示的訊息。如果合作夥伴服務無法使用,遊戲不得指出 XBOX 網路發生問題。如果網路服務速度變慢或間歇性可用,遊戲不得當機或停止回應。

074-01 與 XBOX 服務的 WAN 連線中斷

測試步驟
  1. 登入 XBOX 設定檔。
  2. 在執行下列動作時,中斷 WAN 網路連線。如果您使用乙太網路交換器/集線器,請從網路裝置拔除上行連結纜線。如果裝置是透過 Wi-Fi 連線,請從無線存取點連線拔除上行連結纜線:
    • 建立新的存檔點
    • 載入存檔點
    • 到達自動存檔點
    • 列舉遊戲存檔清單
    • 搜尋並加入線上工作階段
    • 嘗試建立線上工作階段
    • 檢視排行榜 (如果適用)
    • 離線遊玩
預期結果
如果主機無法連線到 XBOX 服務,遊戲應以容易理解的錯誤訊息回應。
通過範例
  1. 遊戲顯示錯誤訊息,指出與 XBOX 服務的網路連線中斷。
  2. 遊玩不需要 XBOX 服務的本機遊戲模式時,遊戲不會顯示錯誤訊息。
  3. AppX 資訊清單中具有 RequireXboxLive 的遊戲,在連線中斷時會暫停,然後終止。
失敗範例
  1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
  2. 遊戲進入沒有回應或不穩定的狀態。

074-02 直接中斷連線

測試步驟
  1. 啟動遊戲並登入 XBOX 設定檔。
  2. 在遊戲中執行下列動作時,從裝置拔除網路纜線,或關閉 WAP 或無線路由器的電源:
    • 建立新的存檔點。
    • 載入存檔點。
    • 到達自動存檔點。
    • 列舉遊戲存檔清單。
    • 搜尋並加入線上工作階段。
    • 嘗試建立線上工作階段。
    • 檢視排行榜 (如果適用)。
    • 離線遊玩。
預期結果
如果裝置與 XBOX 服務的連線中斷,遊戲應以容易理解的錯誤訊息回應。
通過範例
  1. 遊戲在線上遊戲模式中顯示容易理解的訊息。
  2. 遊戲在離線遊戲模式中不會中斷遊戲過程。
  3. AppX 資訊清單中具有 RequireXboxLive 的遊戲,在連線中斷時會暫停,然後終止。
失敗範例
  1. 在離線遊戲模式中顯示錯誤訊息。
  2. 遊戲進入沒有回應或不穩定的狀態。
  3. 網路離線後,使用者仍可檢視線上功能表或檢視已緩衝的媒體。

074-03 暫停、睡眠或休眠期間與 XBOX 服務的連線中斷

如需如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠和休眠,請參閱測試暫停、睡眠和休眠。 就此測試案例而言,請在步驟 3 驗證受測裝置上可用的每一種暫停、睡眠和休眠方法。 測試步驟
  1. 登入設定檔。在 XBOX 主機上,將主機電源模式設定為「立即開啟」。
  2. 啟動遊戲並進入遊戲過程。
  3. 在遊戲中的各個時間點:
    • 在 XBOX 主機上,暫停遊戲。
    • 在 PC 和掌上型裝置上,讓系統進入睡眠,然後再進入休眠。
  4. 裝置重新開啟電源後,繼續遊戲並確認遊戲妥善處理連線中斷。
  5. 在整個遊戲中重複步驟 3-4。
預期結果
如果裝置從暫停、睡眠或休眠繼續後無法連線到 XBOX 服務,遊戲必須成功繼續、妥善處理該情況,並在適當時以容易理解的錯誤訊息回應。
通過範例
  1. 在線上 XBOX 多人遊戲工作階段期間,遊戲顯示錯誤訊息,指出與 XBOX 服務的網路連線中斷。
  2. 遊玩不需要 XBOX 服務的本機遊戲模式時,遊戲不會顯示錯誤訊息。
失敗範例
  1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
  2. 遊戲進入沒有回應或不穩定的狀態。
  3. 遊戲在繼續後顯示誤導性或不正確的錯誤訊息。

074-04 暫停、睡眠或休眠期間重新連線到 XBOX 服務

如需如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠和休眠,請參閱測試暫停、睡眠和休眠。 就此測試案例而言,請在步驟 3 驗證受測裝置上可用的每一種暫停、睡眠和休眠方法。 測試步驟
  1. 登入設定檔,並確定裝置已設定為主要裝置。在 XBOX 主機上,將主機電源模式設定為「立即開啟」。
  2. 在沒有連線到 XBOX 但保留本機網路連線的情況下,啟動遊戲。
    • 如果使用乙太網路交換器/集線器,請從網路裝置拔除上行連結纜線。
    • 如果裝置是透過 Wi-Fi 連線,請從無線存取點拔除上行連結纜線。
  3. 在遊戲中的各個時間點:
    • 在 XBOX 主機上,暫停遊戲。
    • 在 PC 和掌上型裝置上,讓系統進入睡眠,然後再進入休眠。
  4. 重新連接上行連結纜線,並等待裝置重新連線到 XBOX 服務。
  5. 裝置重新開啟電源後,繼續遊戲並確認遊戲妥善處理重新連線。
  6. 在整個遊戲中重複步驟 2-5。
預期結果
如果裝置從暫停、睡眠或休眠繼續後無法連線到 XBOX 服務,遊戲必須成功繼續、妥善處理該情況,並在適當時以容易理解的錯誤訊息回應。
通過範例
  1. 使用者可以繼續遊戲,並在不中斷的情況下完成離線 XBOX 遊戲工作階段。
  2. 遊戲保持穩定且不會當機。
失敗範例
  1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
  2. 遊戲進入沒有回應或不穩定的狀態。
  3. 遊戲在繼續後顯示誤導性或不正確的錯誤訊息。

074-07 動態連線中斷

所需工具: 設定 XMAT 以封鎖合作夥伴服務 如需安裝、擷取設定和指令碼撰寫的指示,請參閱使用 XBOX Multiplayer Analysis Tool 檢查和修改網路流量。
  1. 以系統管理員身分啟動 XMAT,並為受測裝置新增 Web Proxy 擷取。
    • 在 XBOX 開發主機上,選取 Enable XBOX Proxy,然後等待主機重新啟動。
    • 在 Windows 上,選取 Start Capture。
  2. 在 XMAT 擷取期間,啟動遊戲並瀏覽所有功能表、完成多人遊戲工作階段、載入每個遊戲模式,並瀏覽遊戲的所有區域,包括:
    • 功能表。
    • 排行榜。
    • 伺服器 (建立一個伺服器,並加入其他人的伺服器)。
    • 好友清單。
    • 遊戲內商店。
    • 限時活動。
  3. 使用 Host 篩選條件,找出在正常遊戲過程中所連線的合作夥伴服務主機。封鎖所選主機之前,請確認這些主機不屬於 Microsoft、XBOX 或 PlayFab。
  4. 開啟 Script Editor,選取 SSL Connection Request 事件,然後建立指令碼,針對每個合作夥伴服務主機將 Params.Continue 設定為 false。
  5. 啟用指令碼並確認其編譯成功。然後停用指令碼,讓合作夥伴服務在測試開始時保持可用。讓 XMAT 擷取持續執行。
測試步驟
  1. 在停用 XMAT 封鎖指令碼的情況下,登入 XBOX 設定檔並啟動遊戲。
  2. 瀏覽至使用合作夥伴託管服務的遊戲功能,並確認該功能可以使用。
  3. 在不關閉遊戲的情況下,啟用 XMAT 封鎖指令碼。
  4. 繼續進行遊戲並操作所有適用的區域,包括:
    • 功能表
    • 排行榜
    • 伺服器 (建立一個伺服器,並加入其他人的伺服器)
    • 好友清單
    • 遊戲內商店
    • 限時活動
  5. 確認遊戲不會顯示指出 XBOX 網路發生問題的錯誤訊息。
預期結果
遊戲會妥善處理與非 Microsoft 服務的連線中斷。
通過範例
  1. 與合作夥伴託管服務的連線中斷時,遊戲不會停止回應或當機。
失敗範例
  1. 顯示的訊息暗示 Microsoft 服務發生問題。
  2. 顯示不具描述性的錯誤訊息。
  3. 遊戲當機、變得不穩定或導致主機重新開機。

074-08 上市前停機

所需工具: 測試步驟
  1. 在主機上,使用下列命令,以 xbstress.exe 為非 Microsoft 流量建立中斷的網路通道:
xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]
  1. 使用下列命令啟動網路模擬:xbstress simulate network=channels。
  2. 如果在 Windows 上測試,請在啟動遊戲之前,設定 XMAT Web Proxy 擷取,並啟用會封鎖適用合作夥伴服務主機的指令碼。
  3. 登入 XBOX 設定檔。
  4. 啟動遊戲。
  5. 存取非 Microsoft 線上功能。
預期結果
遊戲應提供容易理解的錯誤訊息,指出連線到非 Microsoft 服務時發生問題,並應提供重試連線的機會。
通過範例
  1. 與合作夥伴託管服務的連線中斷時,遊戲不會停止回應或當機。
失敗範例
  1. 顯示的錯誤暗示 Microsoft 服務發生問題。
  2. 顯示不具描述性的錯誤訊息。
  3. 遊戲當機、變得不穩定或導致主機重新開機。

XR-132:服務存取限制 *

呼叫 XBOX 網路服務時超過遊戲和使用者層級限制,或未遵循 XBOX 網路服務重試原則的遊戲,可能會受到速率限制,進而可能導致服務中斷或淘汰。未遵守指定的限制可能會使遊戲無法發行,而已發行遊戲在生產環境中發生的問題,可能會導致 XBOX 網路服務遭到暫停,甚至包括將遊戲下架。

132-01 服務存取限制

所需工具 測試步驟 使用 Fiddler Classic
  1. 啟動遊戲之前,請啟動 Fiddler Classic,並確定其已設定為擷取來自主機或 Windows 10 PC (即相關遊戲的執行位置) 的網路流量。
  2. 在 Fiddler Classic 執行並擷取網路流量的情況下,啟動遊戲並逐一瀏覽所有區域,包括但不限於下列項目:
    • 建立遊戲存檔、重新開機主機,然後載入遊戲存檔
    • 快速連續變更豐富狀態 (如果可能)
    • 解除鎖定並檢視成就
    • 發佈到所有排行榜,並使用所有篩選條件檢視所有排行榜
    • 檢視遊戲內好友清單 (包括已封鎖狀態的好友),並在頁面之間快速移動
    • 取得並檢視 Hero Stat
    • 透過配對進入所有線上模式,包括找不到可用工作階段的情況 (如果可能),並產生語音流量
    • 建立、儲存並分享遊戲短片
    • 存取遊戲內商店 (如果適用)
  3. 測試結束後,將 Fiddler 擷取儲存到本機目錄。
  4. 在 GDK 命令提示字元中,執行 xbltraceAnalyzer -data filepath -outputdir filepath。
  5. 開啟步驟 4 的輸出目錄,然後開啟 ‘index’ 檔案 (如果出現提示,請選取 ‘Allow blocked content’)。
使用 xbtrace.exe
xbtrace.exe 必須在遊戲啟動後才能啟動,但應盡快啟動,以擷取遊戲在啟動期間所進行的任何 XBOX 服務呼叫。因此,擷取遊戲流量的慣用方法是 Fiddler Classic,因為它可以在啟動遊戲之前啟動。
  1. 在遊戲執行時,執行 xbtrace start xboxliveservices,然後逐一瀏覽遊戲的所有區域,包括但不限於下列項目:
    • 建立遊戲存檔、重新開機主機,然後載入遊戲存檔
    • 快速連續變更豐富狀態 (如果可能)
    • 解除鎖定並檢視成就
    • 發佈到所有排行榜,並使用所有篩選條件檢視所有排行榜
    • 檢視遊戲內好友清單 (包括已封鎖狀態的好友),並在頁面之間快速移動
    • 取得並檢視 Hero Stat
    • 透過配對進入所有線上模式,包括找不到可用工作階段的情況 (如果可能),並產生語音流量
    • 建立、儲存並分享遊戲短片
    • 存取遊戲內商店 (如果適用)
  2. 測試結束後,執行 run xbtrace stop 兩次。
  3. 瀏覽主機的檔案,您會在 SystemScratch > xbtrace 中找到 csv 檔案。檢查時間戳記,確定其記錄的是您停止錄製的時間。將其複製到本機。
  4. 在 XDK 命令提示字元中,執行 Xbltraceanalyzer -data filepath -outputdir filepath。
  5. 開啟步驟 4 的輸出目錄,然後開啟 ‘index’ 檔案 (如果出現提示,請選取 ‘Allow blocked content’)。
預期結果
遊戲必須確保其對 XBOX 端點的服務呼叫低於指定的高載和持續限制,且其 XBOX services Trace Analyzer 報告中不得有任何紅色結果。
XBOX services Trace Analyzer 工具會產生 report.txt 檔案,其中會指出發現違規的規則,以及這些違規的詳細資料。
[!Tip] 解讀 XBOX services Trace Analyzer 報告
  • 紅色 - 表示問題超過精細速率限制生效點的 10 倍。這在認證中是嚴重問題。
  • 黃色 - 表示服務因遊戲超過允許呼叫服務的頻率而受到速率限制,但未超過在認證中會構成嚴重問題的閾值。遊戲應設法解決這些問題。
  • 綠色 - 表示遊戲呼叫 XBOX 服務的頻率低於速率限制生效的頻率。
通過範例
  1. 遊戲呼叫 XBOX 服務時未超過持續限制。
  2. XBOX services Trace Analyzer 報告只包含黃色和/或綠色結果。
失敗範例
  1. 遊戲超過持續限制 (速率限制生效的限制) 的 10 倍。例如,如果精細速率限制生效的持續限制設定為 300 秒內 300 次呼叫,則 300 秒內達到或超過 3000 次呼叫的遊戲將會失敗。
  2. XBOX services Trace Analyzer 報告包含一個或多個紅色結果。

132-02 遊戲事件限制

測試步驟
  1. 安裝遊戲,並在遊戲執行時,逐一瀏覽遊戲的所有區域,包括但不限於下列項目:
    • 建立遊戲存檔、重新開機主機,然後載入遊戲存檔
    • 快速連續變更豐富狀態 (如果可能)
    • 解除鎖定並檢視成就
    • 發佈到所有排行榜,並使用所有篩選條件檢視所有排行榜
    • 檢視遊戲內好友清單 (包括已封鎖狀態的好友),並在頁面之間快速移動
    • 取得並檢視 Hero Stat
    • 透過配對進入所有線上模式,包括找不到可用工作階段的情況 (如果可能),並產生語音流量
    • 建立、儲存並分享遊戲短片
    • 存取遊戲內商店 (如果適用)
  2. 在測試期間,觀察遊戲是否出現遊戲事件限制系統快顯通知。
遊戲事件限制系統快顯通知的影像 預期結果
遊戲不得觸發遊戲事件限制系統快顯通知。
通過範例
  1. 遊戲不會觸發遊戲事件限制系統快顯通知。
失敗範例
  1. 遊戲觸發遊戲事件限制系統快顯通知。

線上安全與隱私權

此類別中的需求與保護使用者的安全和隱私權相關。

XR-013:連結 Microsoft 帳戶與發行者帳戶 *

在 XBOX 上,使用發行者託管服務、發行者帳戶、合作夥伴託管帳戶或其他非 XBOX 認證的遊戲,必須為 XBOX 使用者提供一致、安全且適合年齡的體驗。 若遊戲玩法或遊戲功能需要發行者帳戶登入、帳戶建立或帳戶連結,遊戲必須為所有符合資格存取該遊戲或功能的使用者提供適合年齡的存取路徑,資格依據包括:
  • 遊戲的年齡分級;
  • XBOX 家庭、隱私權及安全設定;
  • 提供該遊戲或功能的支援地區;
  • 適用的當地或地區性法律;以及
  • 功能特定的隱私權、安全或內容審核需求。
在 XBOX 主機以外,遊戲可自行選擇是否允許帳戶連結以支援其遊戲體驗。 發行者帳戶登入 若遊戲內啟用了發行者帳戶登入,則適用下列規則。 容納符合資格的使用者 若遊戲功能 (包括單人遊戲、多人遊戲、跨網路遊玩、排行榜、雲端進度、使用者產生的內容 (UGC) 或其他宣傳的功能) 需要發行者帳戶登入,遊戲必須支援在遊戲提供地區、且當地或地區性法律允許這些功能之處的符合資格使用者類型、年齡及地區。 發行者可選擇不為其標準發行者帳戶支援特定地區、年齡群組、帳戶類型或使用者群組。不過,若該群組的使用者無法建立、登入或連結該帳戶,遊戲就不得將該帳戶作為這些使用者存取原本可用且法律允許之遊戲玩法或功能的唯一途徑。 可接受的存取路徑可包括:
  1. 支援使用者年齡群組及地區的標準發行者帳戶。
  2. 具有適合年齡預設值的兒童或青少年發行者帳戶。
  3. 家長同意或家長授權的帳戶建立流程。
  4. 隔離、受限或保護隱私權的發行者帳戶。
  5. 經 Microsoft 或 XBOX 驗證、可避免不必要建立發行者帳戶的存取路徑。
  6. 功能特定的替代方案,讓符合資格的使用者無須完整連結發行者帳戶即可存取該功能。
若遊戲內註冊體驗不支援特定帳戶設定或使用者類型,遊戲必須妥善處理該情況,將使用者導向支援的外部或行動最佳化體驗,或提供其他符合規定的存取路徑。 如果遊戲阻止符合分級資格的使用者存取其原本在法律上可使用的核心遊戲玩法或宣傳功能,僅提供揭露並不足夠。 取得同意並提供帳戶資訊使用條款 遊戲在使用玩家 Microsoft 帳戶中的資訊來填入註冊、帳戶建立或連結體驗之前,必須先要求並取得同意。在建立或連結發行者帳戶期間,必須在遊戲內向使用者提供所有適用的使用條款、隱私權聲明及其他相關原則,或透過附有該資訊連結的明確通知提供。 揭露需求 若遊戲玩法或其他功能需要發行者帳戶,則必須在遊戲的產品描述及任何實體包裝中揭露該需求。揭露內容必須包含重大限制,例如年齡、地區、帳戶類型或功能限制。在遊戲內,遊戲必須在要求登入或連結之前,說明發行者帳戶的原因與用途。若發行者帳戶會限制或約束兒童或青少年帳戶的體驗,請在 Store 詳細資料中加入明確的說明文字,讓購買者知悉。範例:
本遊戲的某些功能,包括線上多人遊戲、通訊、使用者產生的內容、跨網路功能或其他線上功能,可能無法供 XBOX 兒童或青少年帳戶,或不符合發行者帳戶需求的使用者存取。可能適用年齡及地區限制。
當已知有特定限制時,請使用遊戲專屬的措辭。範例:
[功能] 需要 [X] 歲以上的 [發行者帳戶]。適用年齡限制。
發行者帳戶與 Microsoft 帳戶連結 使用 XBOX 安全權杖服務 (XSTS) 進行驗證 將使用者的發行者帳戶連結至使用者的 Microsoft 帳戶時,必須使用 XSTS 權杖提供驗證所需的身分識別資訊。如需 XSTS 權杖驗證的詳細資訊,請參閱遊戲服務的 XBOX 服務驗證。遊戲在建立連結之前,必須同時驗證 Microsoft 帳戶與發行者帳戶,且不得使用未經驗證的識別碼 (例如僅使用玩家代號) 來連結帳戶。請使用合作夥伴 XUID (PXUID) 或成對識別碼進行帳戶連結。除非已核准的服務對服務情境明確要求,否則請勿使用 XUID 儲存帳戶連結資料。 取得同意並提供選擇 當使用者的發行者帳戶連結至其 Microsoft 帳戶時,必須通知使用者;若帳戶連結為選用,則必須讓使用者可以選擇退出。使用者必須能夠解除帳戶連結。帳戶解除連結可在遊戲內、網頁上、隨附應用程式中,或透過其他專用的帳戶管理體驗提供。 容納符合連結資格的使用者 若遊戲玩法或遊戲功能需要連結發行者帳戶,連結必須支援在遊戲提供地區、且法律允許這些功能之處的符合資格使用者類型、年齡及地區。若需要已連結的發行者帳戶,但發行者無法支援使用者的年齡群組、地區或帳戶類型,遊戲必須提供經核准的替代存取路徑或申請例外。 年齡與帳戶處理 在向 Microsoft 帳戶使用者提供帳戶建立或連結功能之前,遊戲必須呼叫 XUserGetAgeGroup 來驗證使用者的年齡群組。遊戲必須正確處理下列帳戶類別:
  • 當使用者的 Microsoft 帳戶年齡與發行者帳戶年齡不同時,遊戲或服務應採用保護程度較高的處理方式,除非使用了其他合法合規的方法 (例如經核准的年齡驗證平台)。
  • 對於兒童帳戶,在法律要求的情況下,發行者必須在建立帳戶之前取得家長同意。家長同意 (包括在必要時接受發行者條款與隱私權聲明) 必須透過發行者符合規定的帳戶流程提供,而不能僅因參與 XBOX 網路就視為已同意。
  • 對於青少年帳戶,發行者必須提供有關社交、UGC、通訊、資料共用及影響隱私權之功能的明確資訊。在適當情況下,發行者應請青少年通知家長或監護人帳戶已建立。
  • 若發行者在帳戶設定期間收集年齡,並判定使用者不符合發行者帳戶需求,發行者應在收集不必要的個人資訊之前停止帳戶建立、告知使用者無法繼續、在適當情況下防止立即重新輸入不同的年齡資訊、銷毀已收集但無須保留的個人資訊,並避免重複失敗的註冊或連結嘗試。
發行者有責任遵守其產品與服務所提供之每個國家或地區的所有適用隱私權、兒童安全、消費者保護及年齡保證法律。 功能特定的限制 基於安全、隱私權、法律、內容審核或適合年齡設計的原因,發行者可在必要時限制、停用特定較高風險功能,或要求針對這些功能取得額外同意。範例包括:
  • 語音或文字聊天;
  • 好友系統或社交圖譜功能;
  • 跨網路通訊;
  • UGC 上傳或發佈;
  • 公開設定檔;
  • 外部論壇或社群功能;
  • 購買、付費貨幣或營利;以及
  • 行為廣告、剖析或選用的資料共用。
在可能的情況下,發行者應將較高風險的功能與較低風險的遊戲玩法存取分開。例如,要求使用發行者帳戶才能上傳 UGC 是可接受的,同時仍允許符合資格的使用者在沒有相同帳戶需求的情況下瀏覽、下載或使用經策劃或審核的內容。 解除連結 使用者必須能夠從其 Microsoft 帳戶解除連結發行者或服務帳戶。遊戲應讓使用者完全控制帳戶連結、解除連結、單一登入、家長同意狀態 (如適用),以及檢閱適用的條款和隱私權原則。解除連結選項不得隱藏在 UI 深處,也不得以技術支援作為唯一可用的方法。 單一登入 建立帳戶連結後,遊戲必須實作單一登入。連結後,遊戲應在 XBOX 主機上自動將使用者登入已連結的發行者帳戶,而不需要使用者重複輸入發行者認證。遊戲不得在主機本機儲存非 XBOX 帳戶認證或不必要的個人資訊。
[!NOTE] 發行者可以實作額外的詐騙防制機制,例如當已連結的帳戶首次從新裝置登入時使用雙重要素驗證。此行為並不違反此 XR。
例外 若發行者無法為符合分級資格的使用者提供適合年齡的存取路徑,發行者必須申請遊戲專屬的例外。單一遊戲獲得核准並不代表未來遊戲都將一律獲得核准。例外申請必須包含:
  1. 受影響的遊戲、分級、平台、地區、功能及使用者群組。
  2. 在沒有發行者帳戶的情況下,核心遊戲玩法是否仍可使用。
  3. 哪些功能遭到封鎖或限制,以及原因。
  4. 限制的法律、隱私權、安全、技術或內容審核依據。
  5. 提議的 Store、包裝及遊戲內揭露文字。
  6. 遭封鎖或受限使用者的使用者體驗。
  7. 針對兒童、青少年、成人、家庭管理及地區特定帳戶案例的測試計畫。
  8. 未來支援適合年齡存取的任何緩解計畫或藍圖。
當限制影響核心遊戲玩法、多人遊戲或主打宣傳的功能時,例外應有時間限制,或在未來發行版本時重新審查。

013-01 連結 Microsoft 帳戶與發行者帳戶

測試步驟
  1. 確認遊戲是否支援或需要非 XBOX 帳戶、發行者帳戶或發行者登入,以使用服務或功能。
  2. 使用新建立的 XBOX 設定檔,在初始設定期間連結或建立發行者帳戶。
  3. 確認遊戲在完成帳戶連結之前,允許使用者檢視使用條款和隱私權資訊,或明確告知使用者如何檢視。
  4. 確認在初始設定之後,不會提示使用者重新輸入非 XBOX 帳戶認證。
  5. 在遊戲執行時登出並重新登入。
  6. 確認單一登入仍然有效。
  7. 使用相同設定檔終止並重新啟動遊戲。
  8. 確認單一登入仍然有效。
  9. 使用相同設定檔在另一部主機上啟動遊戲。
  10. 確認單一登入仍然有效。
  11. 刪除遊戲可能已建立的所有儲存檔案,以確認遊戲不會在本機儲存非 XBOX 帳戶認證。
  12. 確認使用者可以將其 XBOX 設定檔與非 XBOX 帳戶解除連結。
  13. 使用符合遊戲年齡分級的 XBOX 兒童和青少年帳戶,重複適用的步驟。
  14. 使用允許或封鎖多人遊戲、通訊、UGC、購買及跨網路遊玩的家庭設定,重複適用的步驟。
  15. 使用 Microsoft 帳戶與發行者帳戶年齡不一致的情況,重複適用的步驟。
  16. 在適用的情況下,針對同意年齡門檻不同的支援地區,重複適用的步驟。
  17. 若發行者不支援兒童、青少年、地區或帳戶類型,請確認遊戲提供經核准的替代存取路徑、妥善的訊息,或有經核准例外支持的限制。
預期結果
凡是使用發行者帳戶之處,遊戲都必須提供安全的發行者帳戶登入、帳戶建立、連結、解除連結及單一登入。若遊戲玩法或遊戲功能需要發行者帳戶登入或連結,遊戲必須為依據遊戲分級、XBOX 家庭設定、地區性法律及功能特定安全或隱私權需求而符合資格存取該遊戲或功能的所有使用者,提供適合年齡的存取路徑。使用者必須能夠在連結之前檢視適用的條款和隱私權資訊,且必須能夠將其 XBOX 設定檔與發行者帳戶解除連結。
通過範例
  1. 遊戲會驗證兩個帳戶、透過 PXUID 或成對識別碼進行連結,且在初始連結之後絕不要求使用者重新輸入發行者認證。
  2. 遊戲提供條款、隱私權資訊、同意、解除連結及單一登入。
  3. 遊戲透過符合規定的兒童或青少年發行者帳戶、家長同意流程、隔離帳戶、經 XBOX 驗證的路徑,或經核准的功能特定替代方案,支援兒童和青少年使用者。
  4. 遊戲限制較高風險的功能,例如聊天、UGC 上傳、購買或跨網路通訊,同時在法律允許的情況下保留對適當分級之遊戲玩法的存取。
  5. 遊戲在 Store、包裝及遊戲內訊息中明確揭露發行者帳戶需求及任何功能限制。
失敗範例
  1. 遊戲每次啟動時都要求輸入發行者認證。
  2. 遊戲在另一部主機上執行時,再次要求輸入發行者認證。
  3. 遊戲在帳戶建立或連結期間未提供條款或隱私權資訊。
  4. 遊戲未提供將發行者帳戶與 Microsoft 帳戶解除連結的方法。
  5. 遊戲玩法或宣傳功能需要發行者帳戶,但遊戲未為符合資格的兒童或青少年使用者提供適合年齡的存取路徑。
  6. 遊戲僅因發行者的標準帳戶系統不支援使用者的年齡群組、地區或帳戶類型,就阻止符合分級資格的使用者存取核心遊戲玩法或宣傳功能。
  7. 遊戲在沒有經核准例外的情況下,僅依賴 Store 揭露來阻止符合資格的使用者存取必要的遊戲玩法或宣傳功能。
  8. 遊戲未能安全地處理 Microsoft 帳戶與發行者帳戶年齡不一致的情況。

XR-014:玩家資料與個人資訊 *

遊戲發行者須全權負責依照適用法律收集及處理終端使用者資料,尤其是當使用者為兒童時。 此外,當遊戲擁有從 XBOX 取得,或透過與玩家的直接關係 (例如網站或行動應用程式) 取得的玩家資訊時,遊戲不得向其他玩家顯示:
  • 可能用來對使用者造成財務損失的資訊 (例如社會安全號碼或信用卡號碼)。
  • 揭露使用者國家/地區以外之地址的資訊。
  • 可讓使用者在線上冒充其他使用者的資訊,例如帳戶認證。

處理兒童資料

從兒童或青少年年齡群組的帳戶收集資料時,遊戲只能要求驗證年齡、取得家長同意或完成發行者帳戶連結所需的個人資料。
[!Important] 資料要求必須說明資料的用途。例如,若遊戲要求使用者提供出生日期,就必須說明出生日期將用於何種用途: 良好範例:
  • 請提供您的出生日期,以便我們驗證您的年齡
  • 請提供您的出生日期,以便我們為您提供個人化體驗
  • 我們需要您的出生日期,以提供適合年齡的內容
  • 我們需要您的出生日期,以遵守法定年齡限制
不良範例:
  • 請提供您的出生日期
  • 輸入您的出生日期
  • 我們需要您的出生日期
  • 需要出生日期

定義

地址是指任何可識別使用者所在位置至城市或鄉鎮層級的資訊。這包括但不限於下列項目:
  • 實際地址
  • 郵寄地址
  • 帳單地址
  • 郵遞區號
  • IP 位址或相關資訊
  • 地理位置資訊

014-01 個人資訊

測試步驟
  1. 瀏覽遊戲的所有區域,包括所有可能的 XBOX 多人遊戲工作階段。
  2. 瀏覽可能儲存內容或以其他方式透過 XBOX 網路傳送內容或將內容傳送至遊戲伺服器的所有區域。
預期結果
遊戲絕不能顯示 XR 本文中所詳述之其他使用者的個人資訊。
通過範例
  1. 遊戲向另一部主機上的使用者顯示並分享居住國家/地區資訊。
  2. 遊戲使用使用者的 IP 位址來定義使用者的大致位置 (不比州或國家/地區更具體),並在排行榜上向其他使用者顯示該位置。
失敗範例
  1. 遊戲將使用者的個人資訊傳送並分享給其他主機上的使用者。 範例:電子郵件地址、位置 (任何比州/國家/地區更具體的資訊)、姓名、出生日期、設定檔密碼、安全提示問題、密碼、信用卡詳細資料。

014-02 資料收集

測試步驟
  1. 使用兒童或青少年帳戶啟動遊戲。
  2. 瀏覽遊戲的所有區域,包括所有可能的單人及 XBOX 多人遊戲模式。
  3. 檢查向使用者要求了哪些資料。
預期結果
遊戲向兒童或青少年使用者要求的資料,不得超出下列用途所需:
  • 年齡驗證
  • 取得家長同意 (例如家長的電子郵件地址)
  • 發行者帳戶連結 (例如家長、兒童或青少年使用者的電子郵件地址)
通過範例
  1. 遊戲未向兒童或青少年使用者要求任何資料。
  2. 遊戲要求使用者的出生日期,並說明資料的用途。
  3. 遊戲要求家長的電子郵件地址,並說明資料的用途。
  4. 遊戲要求用於帳戶連結的電子郵件地址,並說明資料的用途。
失敗範例
  1. 遊戲要求的資料可能用於驗證年齡、取得家長同意或發行者帳戶連結以外的用途。
  2. 遊戲要求使用者的出生日期,但未說明資料的用途。
  3. 遊戲要求家長的電子郵件地址,但未說明資料的用途。
  4. 遊戲要求用於帳戶連結的電子郵件地址,但未說明資料的用途。

XR-015:管理玩家通訊 *

當使用者的隱私權設定不允許時,遊戲不得允許透過 XBOX 網路進行通訊。 遊戲可透過從 XBOX 網路服務擷取資料來符合此 XR。若遊戲使用自己的服務,則必須在工作階段開始時或新使用者加入工作階段時,檢查使用者的隱私權權限。對於工作階段以外由使用者起始的情境,遊戲可在顯示使用者資料之前及執行動作之前檢查隱私權,以符合此需求。遊戲可檢查下列權限: 在遊戲工作階段期間,提供 XBOX 網路玩家與非 XBOX 網路玩家之間通訊的遊戲,必須提供在工作階段期間將任何非 XBOX 網路玩家設為靜音的功能。
[!Note] 如需如何檢查及解決遊戲中隱私權和權限問題的詳細資訊,請參閱隱私權與權限概觀。

015-01 使用者通訊

設定:
  • 建立一組設定檔,將「其他人可以使用語音、文字或邀請與您通訊」分別設定為「所有人」、「好友」和「已封鎖」。
  • 對於支援 XBOX 以外通訊的遊戲,建立一組設定檔,將「您可以在 XBOX 以外使用語音和文字通訊」分別設定為「允許」、「遊戲內好友」和「已封鎖」。
[!Note] 「允許」與「遊戲內好友」選項的差異在於,「允許」表示您可以跨網路與所有人交談 (包括您在隨機配對中遇到的玩家)。「遊戲內好友」則是您透過將其新增至遊戲內好友清單,而明確選擇一起遊玩的人。
測試步驟
  1. 在裝置 1 上,登入已依照「設定」設定特定權限組合的設定檔。
  2. 在裝置 2 上,登入沒有任何通訊限制的設定檔。
  3. 在兩部裝置上啟動遊戲,並嘗試在每個支援的位置使用文字、語音 (透過 Kinect 及耳機) 和視訊進行通訊,並嘗試傳送多人遊戲邀請。
  4. 對「設定」步驟中的所有設定檔重複步驟 1-3。
預期結果
遊戲必須向 XBOX 服務檢查使用者在隱私權及線上安全相關動作方面的權限,且當使用者的隱私權與線上安全設定不允許時,不得透過 XBOX 傳送使用者資料或允許通訊。
通過範例
  1. 當特定通訊方式設定為封鎖時,遊戲會防止使用者透過 XBOX 以語音和文字進行通訊。
  2. 當特定通訊方式設定為封鎖時,遊戲會防止使用者在 XBOX 以外以語音和文字進行通訊。
  3. 當多人遊戲邀請遭到封鎖時,遊戲會防止使用者在 XBOX 上接收多人遊戲邀請。
失敗範例
  1. 當特定通訊方式設定為封鎖時,使用者仍能透過 XBOX 以語音和文字進行通訊。
  2. 當特定通訊方式設定為封鎖時,使用者仍能在 XBOX 以外以語音和文字進行通訊。
  3. 當多人遊戲邀請遭到封鎖時,遊戲仍允許使用者在 XBOX 上接收多人遊戲邀請。

015-02 靜音支援

測試步驟
  1. 以使用者 A 的身分將使用者 B 設為靜音。
  2. 讓兩位使用者都加入 XBOX 多人遊戲工作階段。
  3. 嘗試從使用者 B 向使用者 A 傳送語音通訊。
  4. 確保使用者 A 無法接收來自使用者 B 的任何語音通訊。
預期結果
使用者 A 必須無法聽到來自使用者 B 的通訊。
通過範例
  1. 起始靜音的使用者無法聽到來自已靜音使用者的語音通訊。
失敗範例
  1. 起始靜音的使用者可以聽到來自已靜音使用者的語音通訊。

015-03 已封鎖的使用者

測試步驟
  1. 以使用者 A 的身分封鎖使用者 B。
  2. 讓兩位使用者都加入 XBOX 多人遊戲工作階段。
  3. 嘗試從使用者 B 向使用者 A 傳送語音和書面通訊。
  4. 嘗試從使用者 B 向使用者 A 傳送多人遊戲邀請。
  5. 確保使用者 A 無法接收來自使用者 B 的任何通訊或多人遊戲邀請。
預期結果
使用者 A 必須無法聽到或看到來自使用者 B 的通訊。使用者 A 不得收到來自使用者 B 的多人遊戲邀請。
通過範例
  1. 起始封鎖的使用者無法看到或聽到來自已封鎖使用者的通訊。
  2. 起始封鎖的使用者不會收到來自已封鎖使用者的多人遊戲邀請。
失敗範例
  1. 起始封鎖的使用者可以看到或聽到來自已封鎖使用者的通訊。
  2. 起始封鎖的使用者會收到來自已封鎖使用者的多人遊戲邀請。

XR-018:使用者產生的內容 *

使用者產生的內容 (UGC) 是指由玩家製作,並在線上狀態下讓一或多位其他人看見或存取的任何遊戲內數位內容。 若您的產品包含 UGC,您必須:
  • 在產品內提供讓使用者向開發人員檢舉不當或有害 UGC 的方式,以供審查及移除/停用 (若違反內容指導方針),及/或實作主動偵測不當或有害 UGC 的方法 (例如文字篩選)。
  • 發佈使用者產生內容的內容指導方針 (例如使用條款或行為準則),並讓使用者可在產品內或遊戲網站上取得。
  • 在 Microsoft 得知 XBOX 網路上有尚未透過標準處置機制或流程處理之非法內容的少數情況下,準備好依 Microsoft 的要求移除/停用高風險的非法內容。
  • 遵守玩家的 UGC 設定,並妥善處理使用者因權限受限而無法在遊戲中存取 UGC 的情境。
此外,若您的產品與第三方遊戲模組平台整合,您必須:
  • 與平台的檢舉/申訴 API (若有) 整合,並在與第三方的合約協議要求時審核內容。
  • 當內容並非來自開發人員時,向使用者顯示免責聲明、對話方塊或視覺指標。

018-01 檢舉不當內容與 UGC 文字字串驗證

測試步驟
  1. 找出遊戲中非好友之間可以輸入文字,且之後可供其他裝置上使用者檢視的任何區域。
  2. 確認遊戲提供產品內方式,讓使用者向開發人員檢舉其他使用者的不當或有害 UGC。
  3. 若沒有檢舉不當內容的方式,請在每個區域中輸入禁用詞彙清單中的字串、子字串等。
    • 直接輸入禁用詞彙 (即「ForbiddenTerm」)。
    • 輸入禁用詞彙,並以空格與另一個非禁用詞彙分隔 (即「Good ForbiddenTerm」)。
  4. 若遊戲允許在離線狀態下建立 UGC (例如角色名稱),請將裝置與網路中斷連線、輸入禁用詞彙組合,然後重新連線至網路。
  5. 確認禁用詞彙不會被其他裝置上的任何其他使用者看見。
  6. 在遊戲支援的每種語言中,使用對應地區設定的禁用詞彙重複步驟 3-5。
預期結果
遊戲必須提供產品內方式,讓使用者向開發人員檢舉不當或有害的 UGC,及/或實作主動偵測不當或有害 UGC 的方法 (例如使用 StringService API 進行文字篩選)。不當或有害的內容必須在 XBOX 服務上對非本機玩家封鎖或模糊處理。
XBOX 玩家代號不受 UGC 需求約束,不應因 UGC 權限受限而遭到文字篩選、遊戲管理的檢舉選項處理或模糊處理。 UGC 的指導方針 (例如使用條款或行為準則) 可供使用者在產品內或遊戲網站上取得。 遊戲不得針對 UGC 權限受限的使用者封鎖整個遊戲模式或體驗。 通過範例
  1. XBOX 玩家代號不會遭到篩選、模糊處理,也不受遊戲內檢舉約束。
  2. 跨網路使用者名稱、發行者管理的使用者名稱、自訂角色名稱或戰隊/小隊/公會名稱不會遭到模糊處理。
  3. 遊戲提供產品內方式,讓使用者向開發人員檢舉不當或有害的 UGC。
  4. 遊戲防止張貼不當或有害的 UGC,並通知使用者張貼失敗的原因。
  5. 遊戲以文字或字元取代不當或有害的文字,例如 內容已封鎖 或 $!*#&。
  6. 在遊戲中即時分享的使用者輸入文字 (例如大廳或遊戲內文字覆疊),或僅在好友之間分享的文字,不會遭到篩選。
  7. 不當或有害的文字字串對本機主機上的使用者可見,但不會傳送給本機主機以外的其他非好友。
  8. UGC 的指導方針 (例如使用條款或行為準則) 可供使用者在產品內或遊戲網站上取得。
  9. 遊戲不會針對 UGC 權限受限的使用者封鎖整個遊戲模式或體驗。
失敗範例
  1. XBOX 玩家代號遭到篩選或模糊處理。
  2. 遊戲未提供讓使用者向開發人員檢舉不當或有害 UGC 的方式,或允許其他裝置上的非好友看見不當或有害的 UGC。
  3. 遊戲允許使用者在離線狀態下建立 UGC,並於之後在線上分享,藉此規避不當或有害 UGC 的篩選。
  4. 使用者無法在產品內或遊戲網站上取得 UGC 的指導方針 (例如使用條款或行為準則)。
  5. 遊戲針對 UGC 權限受限的使用者封鎖整個遊戲模式或體驗。

內容套件與更新

此類別中的需求指定遊戲必須如何封裝,以及遊戲必須如何與附加元件內容套件互動。

XR-037:內容套件的相依性 *

使用者不得被要求購買附加元件內容 (耐久性或消耗性) 才能完成基礎遊戲的任何主要功能或內容。選用內容套件不得相依於其他選用內容套件。也就是說,不得要求使用者下載其他內容套件才能使用某個內容套件。包含與附加元件內容綁定之獨特內容的遊戲存檔,仍必須能在基礎遊戲上載入,或提供明確的訊息說明無法載入的原因。

詳細資訊

此需求的主要層面如下:
  1. 不得要求使用者購買附加元件內容才能完成基礎遊戲的主要功能。
  2. 不得要求使用者購買其他附加元件內容才能使用另一個內容套件。附加元件內容必須能夠獨立於其他附加元件內容使用。
  3. 包含與附加元件內容綁定之獨特內容的遊戲存檔,仍必須能在基礎遊戲上載入,或提供明確的訊息說明無法載入的原因。最佳做法是,訊息應包含提示,若已擁有該內容則提示下載,若尚未擁有則提示使用者考慮購買。
  4. 支援多人遊戲所需附加元件內容的遊戲,必須向未安裝該內容的使用者提供明確的訊息。

實作指引與最佳做法

理想情況下,遊戲應妥善處理使用者先前使用了現已移除之附加元件內容進行遊戲的情況,並讓使用者載入其遊戲存檔並繼續遊戲。若無法做到,遊戲必須明確告知使用者,表示需要安裝該內容才能載入遊戲存檔。遊戲可以查詢使用者是否擁有該內容的權利,並執行下列其中一項:
  1. 若已擁有,則提示使用者下載特定內容。
  2. 若尚未擁有,則提示使用者考慮購買該內容。

037-01 基礎遊戲沒有內容套件存檔相依性

測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 嘗試存取基礎遊戲的所有功能和內容。確認不會要求使用者下載任何附加元件內容。
  3. 下載可在遊戲中使用的可用內容套件。
  4. 載入並使用內容套件,推進到足以建立以內容為基礎之遊戲存檔的進度。
  5. 返回首頁並刪除內容套件。
  6. 再次啟動遊戲。
  7. 確保遊戲存檔可以成功載入且遊戲可以繼續,或明確告知使用者無法繼續的原因。
  8. 訊息必須清楚,並具體告知使用者如何疑難排解問題。
  9. 對所有其他支援的內容套件重複步驟 1-8。
預期結果
使用者必須能夠在不需要購買附加元件內容的情況下,完成基礎遊戲的任何主要功能和/或內容。使用者刪除內容套件後,遊戲必須正常運作,或明確告知使用者無法正常運作的原因。
通過範例
  1. 使用者能夠在不需要購買附加元件內容的情況下,完成基礎遊戲中包含的所有功能和內容。使用者刪除內容套件後,遊戲的所有層面都能毫無問題地遊玩。
  2. 在內容套件所提供的區域中建立存檔,之後刪除該內容套件時,遊戲會明確告知使用者,表示需要安裝內容 x 才能載入遊戲存檔。遊戲也可以查詢使用者是否擁有該內容的權利,若已擁有則提示使用者下載特定內容,若尚未擁有則提示使用者考慮購買該內容。
失敗範例
  1. 使用者被迫購買附加元件內容,才能完成基礎遊戲中包含的功能或內容。使用者在步驟 3 中下載內容套件 1 和內容套件 2 之後,若接著刪除內容套件 1,就無法在遊戲中使用內容套件 2。
  2. 存在內容存檔相依性且未安裝該內容,而遊戲未明確告知使用者需要安裝該內容才能載入遊戲存檔。

037-02 沒有對其他內容套件的相依性

測試步驟
  1. 登入 XBOX 設定檔。
  2. 啟動遊戲。
  3. 下載遊戲支援的單一附加元件內容。
  4. 嘗試在遊戲中使用該內容。
  5. 確認不會要求使用者下載其他內容,才能使用步驟 3 中的內容。
  6. 結束遊戲並刪除步驟 3 中的內容。
  7. 對遊戲支援的每項內容重複步驟 2-6。
預期結果
不得要求使用者下載其他內容套件才能使用某個內容套件。內容套件必須能夠獨立使用。
通過範例
  1. 遊戲不會要求使用者下載其他內容,才能使用另一個獨立的內容套件。
失敗範例
  1. 使用者被要求下載其他內容,才能使用另一個獨立的內容套件。

037-03 DLC 相依性

測試步驟
  1. 登入 XBOX 設定檔。
  2. 下載遊戲的可下載內容 (DLC)。
  3. 進入遊戲並使用 DLC 儲存進度。
  4. 結束遊戲。
  5. 從遊戲裝置 (主機、PC) 移除 DLC。
  6. 啟動遊戲並嘗試存取已儲存的進度。
預期結果
當使用 DLC 建立的遊戲存檔存在,但該 DLC 已不再安裝時,遊戲能妥善處理。
通過範例
  1. 使用者能夠載入其已儲存的進度,並毫無問題地與遊戲互動。
  2. 使用者收到通知,表示需要特定 DLC 才能存取其遊戲存檔。
失敗範例
  1. 當 DLC 不存在時,遊戲變得無法使用。
  2. 使用者無法存取已儲存的進度,且未收到說明原因的通知。

037-04 多人遊戲 DLC

測試步驟
  1. 登入 XBOX 設定檔。
  2. 啟動遊戲。
  3. 遊戲裝置 A:下載所有可在多人遊戲中使用的可下載內容。
  4. 遊戲裝置 A:使用可下載內容 (關卡、角色、車輛、賽道等) 主持遊戲工作階段。
  5. 遊戲裝置 B:使用所有可能的方法,嘗試加入遊戲裝置 A 所建立的遊戲工作階段。
  6. 若無法加入遊戲工作階段,請確認有提供明確的指示來說明無法加入的原因,或讓使用者能輕易推斷原因。
  7. 對所有遊戲模式重複步驟 3-6。
  8. 以遊戲裝置 B 作為主持人,重複步驟 3-6。
預期結果
支援多人遊戲所需可下載內容的遊戲,必須向未安裝該可下載內容的使用者提供明確的指示。
通過範例
  1. 使用者在嘗試加入有 DLC 需求的工作階段時,若不符合需求,會收到適當的訊息,並獲得如何解決問題 (下載、重新下載等) 的資訊。
  2. 透過使用圖示和/或其他螢幕元素,使用者在嘗試加入有 DLC 需求的工作階段時,若不符合需求,會收到明確的通知,並獲得或能輕易推斷如何解決問題的資訊。
  3. 符合多人遊戲對戰 DLC 需求的使用者能夠加入工作階段並遊玩。
失敗範例
  1. 不符合多人遊戲工作階段 DLC 需求的使用者,未獲得有關 DLC 需求及其解決方式的明確視覺指示。
  2. 符合多人遊戲工作階段 DLC 需求的使用者無法一起加入。

從遊戲內商店及從 Microsoft Store 購買

此類別中的需求指定如何從遊戲內商店及 Microsoft Store 進行購買。如需定價、中繼資料及優惠的相關原則,請參閱遊戲發行指南。

使用者設定檔

此類別中的需求適用於遊戲如何與 XBOX 使用者模型、設定檔以及使用者資料的儲存進行互動。

XR-112:在初始啟用與繼續執行期間建立使用者與控制器 *

遊戲必須建立一或多個作用中使用者,作為遊戲中的主要使用者,並在從暫停、睡眠或休眠狀態繼續執行時處理這些使用者。遊戲在 GDK 中是透過 Simplified User Model 或 Advanced User Model 來達成此目的。 GDK Simplified User Model 遊戲 GDK 中的 Simplified User Model 會代表遊戲處理預設使用者的取得。遊戲仍須負責確保已為使用者指派控制器,並使用該控制器進行遊戲輸入。如果未為預設使用者指派控制器,遊戲應使用 XUserFindControllerForUserWithUiAsync 叫用系統對話方塊來選取控制器,並開始接受玩家的輸入。 GDK Advanced User Model 在初始啟用時,遊戲可以依據其遊戲設計與偏好,選擇使用啟動遊戲的使用者,或明確提示選擇使用者,以決定初始使用者。 遊戲必須在對使用者設定檔執行第一個與設定檔相關的動作 (例如儲存進度或設定) 之前,指出作用中使用者。 所有使用 Advanced User Model 的 Microsoft Game Development Kit (GDK) 遊戲,都必須提供帳戶選擇器的進入點,以變更作用中使用者。 當遊戲從暫停、睡眠或休眠狀態繼續執行時,遊戲必須驗證使用者/控制器配對,並據此做出反應,繼續先前使用者的工作階段,或取得一或多個新使用者。
[!Note] 下表顯示當您的遊戲使用 GDK Simplified User Model 或 GDK Advanced User Model 時,XR-112 的哪些測試案例適用於您的遊戲。

112-02 初始使用者與控制器

測試步驟
  1. 登入設定檔 A 並啟動遊戲。
  2. 確認作用中使用者可以控制遊戲。
  3. 在沒有已登入設定檔的情況下重複步驟 [1],並確認遊戲會提示建立作用中使用者。
  4. 建立作用中使用者,並確認該使用者可以控制遊戲。
預期結果
遊戲必須將作用中使用者設定為啟動遊戲的控制器/使用者配對,或顯示參與提示以識別控制器與使用者,或顯示帳戶選擇器以進行登入。
通過範例
  1. 遊戲將作用中使用者設定為啟動遊戲的控制器/使用者配對。
  2. 遊戲顯示參與提示以識別控制器與使用者。
  3. 遊戲顯示帳戶選擇器以進行登入。
失敗範例
  1. 遊戲不允許使用者以第一個使用的控制器控制遊戲。
  2. 在沒有使用者登入的情況下啟動時,遊戲未提示使用者建立作用中使用者。

112-03 沒有已登入的使用者

測試步驟
  1. 確認沒有任何使用者登入。
  2. 啟動遊戲,並進入每個支援儲存使用者資料的模式。
  3. 驗證每個模式都會在發生任何資料遺失之前,為使用者提供登入的機會。
  4. 取消登入機會,並確認遊戲會提供警告,指出進度將不會儲存。
預期結果
如果遊戲處於通常會儲存使用者資料或遊戲狀態的模式,遊戲必須為使用者提供登入的機會。如果使用者在未登入的情況下繼續進行遊戲,遊戲必須通知使用者其進度將不會儲存
通過範例
  1. 未登入的使用者在存取通常會儲存使用者資料或遊戲狀態的遊戲模式時,會收到登入提示。
  2. 如果使用者在未登入的情況下繼續該模式,會收到進度將不會儲存的通知。
失敗範例
  1. 處於通常會儲存使用者資料或遊戲狀態的模式時,如果使用者在未登入的情況下繼續該模式,並未收到進度將不會儲存的通知。
  2. 使用者在已經發生資料遺失之後,才收到無法儲存進度的通知。

112-04 作用中使用者指示

測試步驟
  1. 登入一個從未看過該遊戲且沒有相關儲存資料的設定檔。
  2. 啟動遊戲。
  3. 確認遊戲在執行任何與設定檔相關的動作之前,會在 UI 中識別作用中使用者。「與設定檔相關的動作」範例包括變更使用者的遊戲存檔或偏好設定、將資料儲存至使用者的設定檔、授與成就、為使用者寫入統計資料,或對使用者資料或狀態進行的任何其他本機或雲端使用或操作。
  4. 建立存檔。
  5. 重新啟動遊戲,並確認遊戲在執行任何與設定檔相關的動作之前,會在 UI 中識別作用中使用者。
  6. 中斷與 XBOX Live 的連線。
  7. 重新啟動遊戲,並確認遊戲在執行任何與設定檔相關的動作之前,會在 UI 中識別作用中使用者。
預期結果
遊戲必須在第一個與設定檔相關的動作之前,指出目前的使用者內容。
通過範例
  1. 遊戲在執行任何與設定檔相關的動作之前,會在遊戲中顯示使用者的玩家代號和/或玩家圖示。
  2. 不使用使用者設定檔的遊戲不會指出作用中使用者。
  3. 遊戲會針對支援多位使用者的遊戲模式顯示多位作用中使用者。
失敗範例
  1. 遊戲在執行與設定檔相關的動作之前,未指出遊戲的作用中使用者。

112-05 存取帳戶選擇器

測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 確認遊戲允許作用中使用者在遊戲中存取帳戶選擇器並選取不同的設定檔。
預期結果
遊戲必須允許使用者在遊戲中存取帳戶選擇器,以變更作用中使用者。
通過範例
  1. 遊戲允許使用者在遊戲中存取帳戶選擇器。
失敗範例
  1. 遊戲不允許使用者在遊戲中存取帳戶選擇器。

112-06 處理設定檔變更

測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 存取帳戶選擇器並選取不同的設定檔。
  3. 確認遊戲會做出適當反應,並將作用中使用者的內容切換為新的設定檔。
  4. 針對遊戲中每個可存取帳戶選擇器的位置,重複步驟 1-4。
預期結果
遊戲必須允許使用者順暢地切換至另一位使用者的內容。
通過範例
  1. 遊戲會通知使用者變更作用中使用者可能導致資料遺失,並在前往帳戶選擇器之前提示使用者確認。
  2. 遊戲會適當地更新為新作用中使用者的內容。
失敗範例
  1. 遊戲未適當地更新為新作用中使用者的內容。

112-08 暫停、睡眠或休眠期間的使用者變更

如需如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或手持裝置進入睡眠和休眠狀態,請參閱測試暫停、睡眠和休眠。 就此測試案例而言,在 XBOX 主機上,請在步驟 2 啟動「設定」應用程式並使其保持焦點十分鐘以暫停遊戲,以便變更已登入的使用者。在 PC 和手持裝置上,請在步驟 2 讓系統進入睡眠或休眠狀態。 測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 在遊戲中的各個位置:
    • 在 XBOX 主機上,啟動「設定」應用程式並使其保持焦點十分鐘,以暫停遊戲。
    • 在 PC 和手持裝置上,讓系統進入睡眠或休眠狀態。
  3. 當遊戲處於暫停、睡眠或休眠狀態時,變更作用中使用者。在 XBOX 主機上,登出設定檔 A 並登入設定檔 B。在 PC 和手持裝置上,切換至不同的 Windows 使用者帳戶。
  4. 裝置重新開機後,繼續執行遊戲,並確認遊戲會針對新的作用中使用者做出適當反應。
  5. 以新的作用中使用者進入遊戲進行,並確認該使用者能夠取得進度。
預期結果
  1. 當遊戲從暫停、睡眠或休眠狀態繼續執行時,遊戲必須確認所有先前參與的使用者是否仍登入遊戲裝置。
通過範例
  1. 遊戲在繼續執行時,會自動將作用中使用者內容切換為設定檔 B。
  2. 遊戲會自動從遊戲中移除設定檔 A,或重新建立新使用者,並使用該新使用者的狀態進行遊戲。
失敗範例
  1. 遊戲未更新以從內容中移除作為作用中使用者的設定檔 A。
  2. 選取新設定檔後,遊戲繼續使用設定檔 A 的狀態進行遊戲。

XR-115:在遊戲進行期間新增和移除使用者或控制器 *

支援多位使用者的遊戲,必須針對新增和移除使用者,或作用中玩家未獲指派控制器或在遊戲進行期間遺失控制器的情境,做出如下回應: 新增控制器:
在遊戲選取或接收初始使用者和控制器之後,可以選擇性地接受來自其他控制器的輸入。支援多人體驗的遊戲,應考慮如何將其他玩家或控制器加入遊戲進行,並使用 XUserAddAsync 繫結至使用者。例如「按 A 加入」,或在玩家選取畫面上顯示控制器輪廓。
移除控制器:
如果在遊戲進行期間移除了驅動遊戲進行的玩家控制器,遊戲必須允許重新建立新的作用中控制器 (例如「按 A 繼續」,或針對擁有有效控制器的作用中使用者,在 ERA 中接收 ControllerPairingChanged,或在 GDK 中接收 XUserDeviceAssociationChangedCallback 事件)。遊戲也可以使用 XUserFindControllerForUserWithUiAsync 叫用系統 UX,提示使用者將控制器與其使用者配對並返回遊戲進行。
新增使用者:
使用 GDK (無論使用 Simplified 或 Advanced User Model) 時,只有在遊戲呼叫 XUserAddAsync 時才會新增使用者。
移除主要使用者:
對於使用 GDK Advanced User Model 的遊戲,如果主要使用者已登出 (透過指南、SPOP 或其他方式),遊戲必須從遊戲中移除該玩家,或重新建立使用者和作用中控制器。
對於使用 GDK Simplified User Model 的遊戲,移除主要玩家會導致遊戲在系統層級遭到暫停。 在所有情境中,遊戲處理移除/關閉的方式,都是讓遊戲處於良好狀態。這包括寫入連線儲存空間、通知任何相關的 MPSD 工作階段該使用者已離開,以及在未新增新使用者時,將使用者帶到適當的位置以進行登入。 移除其他/次要使用者:
遊戲可以自行決定如何處理此事件,通常是立即將該玩家從遊戲進行中移除,或在所使用之多人體驗的內容中提示玩家重新加入。
[!Note] 下表顯示當您的遊戲使用 GDK Simplified User Model 或 GDK Advanced User Model 時,XR-115 的哪些測試案例適用於您的遊戲。

115-02 移除控制器

測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 在使用遊戲期間的各個時間點,取出控制器的電池。
  3. 將電池裝回控制器,並確認使用者可以繼續使用遊戲。
  4. 重複步驟 1-3,但改為連接第二個控制器,而不是裝回電池。
預期結果
遊戲必須正確回應控制器的移除和新增。
通過範例
  1. 在移除或新增控制器之後,作用中使用者應能繼續使用遊戲。
  2. 系統會提示使用者重新建立新的作用中控制器 (例如「按 A 繼續」或叫用系統 UX)。
失敗範例
  1. 在移除控制器之後,使用者無法繼續使用遊戲。

115-03 移除使用者

測試步驟
  1. 登入設定檔 A,並確保沒有其他設定檔已登入。
  2. 啟動遊戲並進入遊戲進行。
  3. 在使用遊戲期間的各個時間點,登出設定檔 A。
  4. 確認遊戲會叫用帳戶選擇器,或將使用者帶回前端。
  5. 在可能的情況下,以下列方式與遊戲互動:
    • 登入設定檔 A,並確保遊戲不會進一步中斷使用者的體驗。
    • 登入設定檔 B,並確保遊戲會更新為新使用者的內容。
預期結果
遊戲必須從遊戲中移除該玩家,或重新建立使用者和作用中控制器。如果從遊戲中移除玩家,遊戲應保持在良好狀態。這包括寫入連線儲存空間、通知任何相關的 MPSD 工作階段該使用者已離開,以及在未新增新使用者時,將使用者帶到適當的位置以進行登入。
通過範例
  1. 遊戲從遊戲中移除該玩家並返回前端。
  2. 遊戲允許使用者重新建立新使用者,並正確更新為相關的使用者內容。
失敗範例
  1. 遊戲未對使用者狀態的變更做出反應。
  2. 選取新設定檔後,遊戲繼續使用設定檔 A 的使用者狀態。

XR-045:XBOX 網路與帳戶權限 *

XBOX 網路為使用者及其子女提供預期程度的隱私權與線上安全。為了履行此承諾,遊戲必須向 XBOX 網路服務檢查權限,才能在 XBOX 網路服務上或遊戲體驗中完成特定動作。 雖然權限檢查與遵守適用於所有帳戶,但請特別留意兒童帳戶的體驗與預期。對於兒童帳戶,特定活動可能因以年齡為基礎的預設值及/或兒童的家庭召集人 (父母或監護人) 的設定而受到封鎖。兒童無法自行變更這些設定,不過對於某些活動,遊戲可以且預期會叫用必要的系統 UI,讓年輕玩家能透過核准流程,針對相關活動要求例外。例如,在這種情況下,年輕玩家可能在全域範圍內遭到封鎖而無法進行多人遊戲,但家庭中的父母或監護人可以透過系統 UI 核准該特定遊戲的多人遊戲;之後兒童就應該能夠存取該特定遊戲的此遊戲模式。 免費遊玩的遊戲、試玩版或 Beta 版可以設定為允許非 Game Pass 訂閱者的玩家進行多人遊戲 (ID 254)。這是透過服務端設定來完成,可以藉由連絡您的 Microsoft 代表來啟動。這些遊戲必須持續檢查多人遊戲權限,以確保遵守家長監護設定與玩家的選擇。

045-01 遵守使用者權限

測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 針對 XR 備註中所列的每項權限,確認遊戲是否支援相關活動。
  3. 針對步驟 2 中所確認之每項適用權限的每個可能設定,執行下列動作:
    • 結束遊戲,並變更使用者針對該權限的設定。
    • 重新啟動主機。
    • 登入相同的設定檔並啟動遊戲。
    • 造訪遊戲的所有相關區域,使用與該權限相關的所有遊戲功能,並確認遊戲遵守使用者目前的權限設定。
    • 嘗試使用 Silver XBOX 設定檔存取所有離線和線上區域。
預期結果
遊戲必須遵守使用者的權限設定。
通過範例
  1. 遊戲遵守使用者的權限設定。
  2. 遊戲將部分允許的權限設定視為該權限已停用/不允許 (例如,當使用者產生的內容 (UGC) 權限設定為「僅限朋友」時,遊戲的行為就如同該權限設定為「已封鎖」)。
  3. 對於使用 XDK 的遊戲,遊戲會叫用系統 UI,提醒使用者任何權限衝突 (遊戲必須使用 Store::Product::CheckPrivilegeAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
  4. 對於使用 GDK 的遊戲,遊戲會叫用系統 UI,提醒使用者任何權限衝突 (遊戲必須使用 XUserCheckPrivilege 和 XUserResolvePrivilegeWithUiAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
  5. 對於使用 XSAPI 的遊戲,遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
失敗範例
  1. 遊戲保存使用者的權限設定,且在使用者的權限變更後,未反映其實際權限。
  2. 遊戲將部分允許的權限設定視為該權限設定為限制最少的設定 (例如,當使用者產生的內容 (UGC) 權限設定為「僅限朋友」時,遊戲的行為就如同該權限設定為「允許」)。
  3. 對於使用 XDK 或 GDK 的遊戲,遊戲使用遊戲內訊息提醒使用者任何權限衝突,而未顯示系統 UI。
  4. 對於使用 XSAPI 的遊戲,遊戲未顯示資訊性訊息讓使用者知道他們無法參與。

045-02 遵守使用者權限 - XBOX Family

測試設定與組態
  • XBOX Family,其中包含下列 Microsoft 帳戶:
  • 指定為召集人的成人 (超過 18 歲)。
  • 具有「兒童預設」權限設定的兒童 (未滿 13 歲):
參考資料與連結 測試步驟
  1. 登入成人和兒童的 Microsoft 帳戶,並以兒童帳戶啟動遊戲。
  2. 針對 XR 備註中所列的每項權限,確認遊戲是否支援相關活動。
  3. 針對步驟 2 中所確認之每項適用權限的每個可能設定,執行下列動作:
    • 確認相關活動會依據帳戶權限而允許/不允許。例如:遊戲支援多人遊戲,且兒童帳戶的多人遊戲權限遭到封鎖。確認遊戲會封鎖兒童的所有多人遊戲活動,且當兒童嘗試參與多人遊戲活動時,會顯示家長權限提示 (系統 TCUI)。
    • 結束遊戲,並針對遊戲支援的權限活動變更使用者兒童的權限設定,從封鎖改為允許。例如:將多人遊戲或使用者產生的內容從封鎖變更為允許。
    • 重新啟動主機。
    • 登入相同的設定檔並啟動遊戲。
    • 造訪遊戲的所有相關區域,使用與該權限相關的所有遊戲功能,並確認遊戲遵守使用者目前的權限設定。例如:遊戲支援多人遊戲。兒童原本遭到封鎖,但現在已獲授與多人遊戲權限。遊戲會正確允許兒童存取多人遊戲模式。
  4. 在父母帳戶未登入主機的情況下,重複步驟 2-3。
預期結果
遊戲必須遵守所有 XBOX Family 成員的權限設定。
通過範例
  1. 遊戲遵守兒童的權限設定。
  2. 當某活動的權限為允許時,遊戲允許兒童參與該活動。
  3. 當某活動的權限遭到封鎖時,遊戲不允許兒童參與該活動。
  4. 在父母 (透過家長權限 UI) 允許某項遭封鎖活動的權限之後,遊戲允許兒童參與該活動。
  5. 對於遭到封鎖且父母未 (透過家長權限 UI) 允許其權限的活動,遊戲不允許兒童參與。
  6. 遊戲將部分允許的權限設定視為該權限已停用/不允許 (例如,當使用者產生的內容 (UGC) 權限設定為「僅限朋友」時,遊戲的行為就如同該權限設定為「已封鎖」)。
  7. 對於使用 XDK 的遊戲,遊戲會叫用系統 UI,提醒使用者任何權限衝突 (遊戲必須使用 Store::Product::CheckPrivilegeAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
  8. 對於使用 GDK 的遊戲,遊戲會叫用系統 UI,提醒使用者任何權限衝突 (遊戲必須使用 XUserCheckPrivilege 和 XUserResolvePrivilegeWithUiAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
  9. 對於使用 XSAPI 的遊戲,遊戲會顯示資訊性訊息,讓使用者知道他們無法參與。
失敗範例
  1. 遊戲未遵守兒童的權限設定。
    • 範例:遊戲支援多人遊戲,並允許多人遊戲遭封鎖的兒童存取多人遊戲模式。
  2. 遊戲未叫用適當的 UI 來提醒並告知兒童權限衝突。
    • 範例:遊戲支援多人遊戲,但在權限遭到封鎖時,從未提示兒童取得家長權限。
  3. 當某活動的權限遭到封鎖時,遊戲允許兒童參與該活動。
  4. 當某活動的權限為允許時,遊戲不允許兒童參與該活動。
  5. 對於遭到封鎖且父母未 (透過家長權限 UI) 允許其權限的活動,遊戲允許兒童參與。
  6. 對於遭到封鎖但父母已 (透過家長權限 UI) 允許其權限的活動,遊戲不允許兒童參與。
  7. 遊戲保存使用者的權限設定,且在使用者的權限變更後,未反映其實際權限。
    • 範例:遊戲支援多人遊戲。兒童帳戶的多人遊戲遭到封鎖,但父母已透過系統 UI 授與權限。即使已授與權限,遊戲仍繼續封鎖多人遊戲。
  8. 遊戲將部分允許的權限設定視為該權限設定為限制最少的設定。例如:當使用者產生的內容 (UGC) 權限設定為「僅限朋友」時,遊戲的行為就如同該權限設定為「允許」。
  9. 對於使用 XDK 的遊戲,遊戲未叫用系統 UI 來提醒使用者任何權限衝突 (遊戲必須使用 Store::Product::CheckPrivilegeAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲未顯示資訊性訊息讓使用者知道他們無法參與。
  10. 對於使用 GDK 的遊戲,遊戲未叫用系統 UI 來提醒使用者任何權限衝突 (遊戲必須使用 XUserCheckPrivilege 和 XUserResolvePrivilegeWithUiAsync API)。當無法叫用系統 UI 時 (權限 252、189、247),遊戲未顯示資訊性訊息讓使用者知道他們無法參與。
  11. 對於使用 XSAPI 的遊戲,遊戲未顯示資訊性訊息讓使用者知道他們無法參與。

XR-046:顯示名稱與玩家圖示 *

在 XBOX 主機上,遊戲必須使用玩家代號作為其主要顯示名稱。 依據設計選擇,遊戲可以在玩家的新式玩家代號或傳統玩家代號之間選擇。新式玩家代號可在 GDK 中使用,傳統玩家代號則可在 ERA 和 GDK 中使用。 在非主機平台上,雖然並非必要,但我們建議您在遊戲體驗中的適當位置使用 XBOX 網路玩家的玩家代號。 玩家代號必須依據所使用的玩家代號類型,在遊戲中正確顯示: 新式玩家代號
顯示唯一新式玩家代號的全部 16 個字元,其中包括最多 12 個字元的新式玩家代號,後面接著 # 和尾碼數字 (如果有)。例如:Major Nelson (沒有尾碼) 或 Major Nelson#881。如果使用新式玩家代號,則必須支援新式玩家代號可用的所有 Unicode 字元範圍。如需更多新式玩家代號資訊與最佳做法,請參閱 GDK 開發文件文章「新式玩家代號概觀」。
傳統玩家代號
正確顯示傳統玩家代號的全部 15 個字元。傳統玩家代號僅包含 ASCII 字元 a-z、A-Z、0-9、逗號 (,) 和空格 (ASCII 字元 0x20)。例如:Major Nelson
在 GDK 中,這些項目是使用 XUserGetGamertag API 傳回。在 ERA 中,玩家代號是使用 GetUserProfileAsync API 取得。

046-01 顯示名稱與玩家圖示

所需工具
  • GDK 中的 XblTestAccountGui.exe
準備工作
針對下列每個名稱建立四個測試帳戶,並使用 XblTestAccountGui.exe 將每個測試帳戶的玩家代號變更為下列內容:
  • สฐ众нь컴퓨퓨
  • आथाώঙぁヺ
  • øÜêþЯЂў
  • gttest1
測試步驟
  1. 找出並檢視遊戲中顯示玩家代號的位置。
  2. 檢查在步驟 [1] 中所找出的所有區域中,使用者的玩家代號是如何顯示的。
  3. 如果遊戲會顯示使用者的圖片,請確認每個帳戶都顯示正確的 Microsoft 帳戶圖片或玩家圖示。
預期結果
使用者的玩家代號必須正確顯示。
通過範例
  1. 使用新式玩家代號時,玩家代號會正確顯示 Unicode 字元 (包括自動產生的尾碼)。
  2. 使用傳統玩家代號時,玩家代號會正確顯示。
失敗範例
  1. 由於 Unicode 字元顯示為空白字元,因此玩家代號完全未呈現。
  2. 使用傳統玩家代號時,玩家代號未正確顯示。

XR-047:存取使用者設定檔 *

只要列舉了使用者的顯示名稱,遊戲就必須讓使用者可以選擇存取其他 XBOX 網路使用者的玩家卡片 (使用者設定檔)。

047-01 存取使用者設定檔

測試步驟
  1. 裝置 1 和 2:啟動遊戲。
  2. 裝置 1 和 2:登入 XBOX 設定檔。
  3. 裝置 1:設定 XBOX 多人遊戲工作階段。
  4. 裝置 2:尋找並加入主機 1 所建立的遊戲工作階段。
  5. 在裝置 2 加入遊戲工作階段後,確認下列事項:
    • 從遊戲前大廳,選取玩家代號或使用者名稱以存取另一位 XBOX 使用者的玩家卡片。
    • 在遊戲進行期間,嘗試選取使用者的使用者名稱或玩家代號以存取另一位 XBOX 使用者的玩家卡片 (視遊戲而定,這不一定可行)。
    • 從遊戲後統計資料畫面,選取使用者的使用者名稱或玩家代號以存取另一位 XBOX 使用者的玩家卡片。
    • 從排行榜區域,選取使用者的使用者名稱或玩家代號以存取另一位 XBOX 使用者的玩家卡片。
    • 尋找任何其他列出玩家代號的區域,並嘗試選取使用者的使用者名稱或玩家代號以存取另一位 XBOX 使用者的玩家卡片。
預期結果
預期使用者將能夠檢視另一位 XBOX 使用者的玩家卡片資訊。
通過範例
  1. 在所有顯示玩家代號且已啟用 UI 瀏覽的位置,使用者都能夠存取另一位 XBOX 使用者的玩家卡片。
  2. 無論是否已啟用 UI 瀏覽,使用者都能夠在排行榜、工作階段大廳、遊戲後統計資料及其他遊戲內選單中存取另一位 XBOX 使用者的玩家卡片。
失敗範例
  1. 在任何顯示玩家代號且可使用 UI 瀏覽的位置,使用者無法存取另一位 XBOX 使用者的玩家卡片。
  2. 無論是否已啟用 UI 瀏覽,使用者都無法在排行榜、工作階段大廳、遊戲後統計資料及其他遊戲內選單中存取另一位 XBOX 使用者的玩家卡片。
  3. 在任何顯示玩家代號且已啟用 UI 瀏覽的位置,使用者無法存取另一位 XBOX 使用者的玩家卡片。

XR-048:設定檔設定的使用 *

XBOX 網路是 XBOX 使用者設定檔資訊的真實來源。為支援此原則,除了為支援網路中斷情境而在本機儲存的快取以外,遊戲不得儲存來自 XBOX 網路的使用者資訊,例如設定檔資料、偏好設定或玩家代號。任何離線快取都必須在下一次可連線至服務時進行更新。

048-01 設定檔設定的使用

組態
  • 2 部 XBOX 裝置
測試步驟
  1. 選取設定檔並建立存檔。
  2. 變更使用者設定檔資料,包括更新玩家代號或帳戶名稱。
  3. 啟動遊戲,並載入在步驟 [2] 中建立的存檔。
  4. 確認遊戲進行期間可見的使用者設定檔資料已變更,且未儲存在遊戲存檔中。
  5. 確認任何對玩家代號的參考 (由遊戲自動建立) 都已更新。這包括伺服器託管功能上的任何參考,以及遊戲內的任何參考。
  6. 在第二部裝置上啟動遊戲,並確認更新後的玩家代號正確顯示。
預期結果
不得儲存使用者設定檔資料。例如,如果遊戲在遊戲內 (例如在歡迎訊息中) 或在非 XBOX 伺服器上 (例如為上傳的資料命名) 使用玩家代號,則在使用者變更其玩家代號時,不得保留該玩家代號。如果使用者是手動輸入玩家代號,則不適用此規定。
通過範例
  1. 使用者設定檔資料和偏好設定在變更後,會在所有顯示位置更新。
失敗範例
  1. 對於本機儲存的存檔資料 (例如重播、存檔、選項、地圖和隊伍),遊戲未在遊戲內或 XBOX 首頁上顯示使用者更新後的玩家代號或 Microsoft 帳戶名稱。
  2. 遊戲未針對持續性貼文 (例如遊戲短片、重播、排行榜) 或其他自訂貼文 (例如訊息、公告貼文、使用者挑戰、服裝、主題、塗裝、錦標賽和聯賽) 更新使用者的玩家代號。 注意:這同時適用於新建立和先前建立的貼文。
  3. 遊戲針對使用者的儲存資料 (例如重播、存檔、選項、地圖和隊伍) 儲存使用者的玩家代號,導致使用者變更其玩家代號或帳戶名稱時,存檔資料變得無法使用。

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

遊戲必須將進度、儲存的狀態、偏好設定、成就和其他獎勵,與記錄該進度、選擇該偏好設定或獲得該獎勵的使用者建立關聯。遊戲是透過正確處理使用者變更通知來達成此目的。遊戲必須避免為不再登入的使用者儲存狀態。遊戲存檔資料不得與共用內容或本機儲存空間有任何相依性。 對於跨平台、裝置和/或主機世代使用相同 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®),遊戲存檔漫遊並非必要,但建議支援以提升玩家體驗。

更多資訊

共用內容是指載入遊戲存檔時,可能不存在於漫遊目的地主機上的內容,例如遊戲附加元件。該內容可能因為目前登入的使用者尚未下載或並未擁有而無法使用。 使用 GDK 的開發人員可以使用 XGameSave、XGameSaveFiles 或 PlayFab Game Saves,輕鬆實作這些需求。 此需求的一個關鍵層面,涉及處理遊戲在作用中、暫停或終止期間,其主要使用者變更的情況。當遊戲從上次啟用該遊戲之使用者以外的其他使用者的首頁畫面啟用時,遊戲的「主要使用者」就會變更,而主機上的其他使用者可以在遊戲生命週期中的任何時間點登入或登出。遊戲必須提供適合主要使用者和主機上其他使用者的體驗,並為每位使用者儲存遊戲狀態資訊。由於使用者可以在任何特定遊戲的內容之外登入 (和登出) XBOX 網路,因此遊戲必須能穩健地因應使用者變更的情況。例如,遊戲應避免使用不再登入之使用者的權杖或識別碼。 遊戲不得造成使用者資料的意外遺失。
[!Note] 下表顯示當您的遊戲使用 GDK Simplified User Model 或 GDK Advanced User Model 時,哪些測試案例適用於您的遊戲。如需有關使用 Simplified User Model 與 Advanced User Model 的其他詳細資料,請參閱 XR-112。

052-01 使用者登入與登出

測試步驟
  1. 確保設定檔 A 具有包含遊戲進度和使用者偏好設定的存檔資料。
  2. 確保設定檔 B 沒有任何存檔資料。
  3. 登入設定檔 A 並啟動遊戲。造訪遊戲的所有區域,確保所有存檔資料都已保留,包括但不限於:
    • 單人或多人遊戲工作階段
    • 選單
    • 視訊或音訊播放
  4. 登出設定檔 A 並登入設定檔 B。
  5. 重新造訪步驟 3 中驗證過的所有遊戲區域,確認遊戲會正確更新設定檔 B 的使用者進度、儲存的狀態、偏好設定、成就或其他獎勵。
  6. 開始遊戲進行以建立存檔進度,並變更設定檔 B 的使用者偏好設定。
  7. 終止並重新啟動遊戲,並確認步驟 6 中的存檔資料已正確反映。
  8. 登出設定檔 B。
  9. 從設定檔 A 刪除「所有位置」的存檔資料,並重複步驟 3-7。
預期結果
遊戲應適當處理主要使用者的變更。
通過範例
  1. 在使用者變更之後,使用者進度、儲存的狀態、偏好設定、成就或其他獎勵會與正確的使用者建立關聯。
失敗範例
  1. 在使用者變更之後,遊戲將使用者進度、儲存的狀態、偏好設定、成就或其他獎勵與使用者錯誤地建立關聯。
  2. 遊戲繼續將存檔資料授與第一位使用者。
  3. 新使用者可以在先前的使用者登出後,變更其存檔資料、狀態或設定檔。

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

如需如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或手持裝置進入睡眠和休眠狀態,請參閱測試暫停、睡眠和休眠。 就此測試案例而言,在 XBOX 主機上,請在步驟 2 啟動「設定」應用程式並使其保持焦點十分鐘以暫停遊戲,以便變更已登入的使用者。在 PC 和手持裝置上,請在步驟 2 讓系統進入睡眠或休眠狀態。 測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 在遊戲中的各個位置:
    • 在 XBOX 主機上,啟動「設定」應用程式並使其保持焦點十分鐘,以暫停遊戲。
    • 在 PC 和手持裝置上,讓系統進入睡眠或休眠狀態。
  3. 變更作用中使用者。在 XBOX 主機上,登出主要使用者並以不同的使用者身分登入。在 PC 和手持裝置上,切換至不同的 Windows 使用者帳戶。
  4. 使用新使用者啟動遊戲,並嘗試從先前使用者的位置繼續。
  5. 針對遊戲的所有區域重複步驟 1-4。
預期結果
遊戲應適當處理主要使用者的變更。
通過範例
  1. 以不同使用者啟動時的遊戲狀態,在內容上適合該遊戲類型。
  2. 在使用者變更之後,使用者進度、儲存的狀態、偏好設定、成就或其他獎勵會與正確的使用者建立關聯。
失敗範例
  1. 在使用者變更之後,遊戲將使用者進度、儲存的狀態、偏好設定、成就或其他獎勵與使用者錯誤地建立關聯。
  2. 遊戲繼續將存檔資料授與第一位使用者。
  3. 新使用者可以在先前的使用者登出後,變更其存檔資料、狀態或設定檔。

052-05 正確的使用者關聯

測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 進入遊戲進行並儲存遊戲進度。
  3. 終止遊戲。
  4. 登出步驟 1 中的設定檔,並登入新的設定檔。
  5. 啟動遊戲並嘗試存取已儲存的進度。
預期結果
為原始使用者儲存的進度,不得讓新的設定檔看見/存取。
通過範例
  1. 步驟 5 中只會顯示與步驟 4 中新設定檔相關聯的已儲存進度。
失敗範例
  1. 遊戲允許新的設定檔載入不同設定檔的已儲存進度。

052-06 雲端儲存體:漫遊

所需裝置
  • XBOX One
  • XBOX One S
  • XBOX One 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 中的相同遊戲,並確認所有遊戲存檔以及任何設定和/或組態檔都可以正確存取和載入,且與共用內容沒有任何相依性。
預期結果
當使用者登入 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. 遊戲存檔資料與共用內容有相依性。

成就與獎勵

下列需求適用於在 XBOX network 上提供成就的遊戲。所有以 XBOX 主機為目標的遊戲都必須具備成就,並符合下列需求。試玩版不得具備成就;不過,試玩版可以選擇支援 Hero Stats。

XR-055:成就與玩家分數 *

遊戲必須在推出時提供規定數量 (最小值與最大值) 的成就及其相關的玩家分數。遊戲可在推出後隨時新增成就或玩家分數,無論是否搭配對應的新內容皆可,但不得超過以遊戲為基礎或以日曆為基礎的限制。 單一成就不得超過 200 玩家分數,且遊戲中的所有成就都必須可以達成。 在基礎遊戲或內容更新中解除鎖定成就,必須代表對遊戲內容的深入探索或投入。
[!Note] 「半年度」是指 1 月至 6 月、7 月至 12 月。基礎遊戲的成就與玩家分數不計入半年度限制。
成就不得在多個遊戲之間共用。當單一遊戲使用相同的遊戲識別碼在不同裝置上提供支援時,該遊戲必須共用同一組成就,並可自行決定是否提供裝置專屬的成就。 成就名稱與描述只能包含評級為 PEGI 12、ESRB EVERYONE 10+ 或更低等級的內容。成就名稱與描述不得以明文或遮蔽形式包含一般認為屬於粗俗用語的內容。

055-01 成就

測試步驟
  1. 檢閱遊戲支援的玩家分數數量與成就總數。
  2. 進行遊戲,並嘗試獲得盡可能多的成就。
  3. 在主機上從暫停狀態繼續之後,以及在 PC 或掌上型裝置上從睡眠與休眠狀態繼續之後,重複步驟 2。
  4. 在與 XBOX 服務中斷連線的狀態下重複步驟 2。
預期結果
所有成就都會依據其條件解除鎖定,且基礎遊戲推出時可獲得的最高玩家分數為 1000G,分布於 10 至 100 個成就之間。所有成就都代表對遊戲內容的深入探索或投入。
通過範例
  1. 所有成就都可以獲得。
  2. 成就依據其條件解除鎖定。
  3. 所有成就都代表對遊戲內容的深入探索或投入。
  4. 遊戲的推出版本具有 1000 玩家分數,分布於 10 至 100 個成就之間。
失敗範例
  1. 符合條件時,成就未解除鎖定。
  2. 尚未符合條件時,成就就已解除鎖定。
  3. 成就未代表對遊戲內容的深入探索或投入。
  4. 所有成就都能在開始遊戲後的幾分鐘內解除鎖定。
  5. 成就可以在沒有 (或極少) 使用者輸入的情況下解除鎖定,除非這是核心遊戲循環的必要部分。
  6. 遊戲的推出版本未具有 1000G。
  7. 遊戲的推出版本具有的成就多於或少於 10 至 100 個。
  8. 在主機上從暫停狀態繼續,或在 PC 或掌上型裝置上從睡眠或休眠狀態繼續之後,成就未解除鎖定。
  9. 單一成就超過 200 玩家分數。
  10. 重新連線至 XBOX 服務後,成就未解除鎖定。

XR-057:解除鎖定成就 *

遊戲必須提供一種方式,讓使用者無須購買額外的遊戲內內容,即可獲得基礎遊戲所定義的所有成就。 成就必須透過遊戲內動作、遊戲進行和/或體驗來解除鎖定。 遊戲不得提供玩家在沒有對應遊戲進行活動的情況下直接解除鎖定成就的替代選項。不允許的選項包括 (但不限於):
  • 使用真實貨幣購買
  • 遊戲內作弊碼、主控台或選單選項
這些選項可用於降低解除鎖定成就所需遊戲進行的難度。 成就發佈給使用者之後,即無法移除,也無法變更其解除鎖定規則或獎勵。成就文字 (名稱與描述) 和圖片 (圖示與背景) 則可以修改。

057-01 基礎成就無須額外購買

測試步驟
  1. 檢閱基礎遊戲的成就描述。
  2. 確認這些成就不需要額外購買或額外內容。
  3. 獲得所有成就。
預期結果
無須購買額外的遊戲內內容,即可獲得所有成就。
通過範例
  1. 無須購買額外的遊戲內內容,即可獲得所有成就。
  2. 沒有任何成就需要額外的遊戲內內容。
失敗範例
  1. 使用者必須購買額外的遊戲內內容,才能解除鎖定基礎遊戲所定義的成就。

多人遊戲工作階段

此類別中的需求適用於在 XBOX 上提供多人遊戲工作階段的遊戲。XBOX 提供一致且簡單的方式,讓玩家尋找多人遊戲工作階段,並微調用來尋找這些工作階段的參數。

XR-064:可加入的遊戲工作階段與線上遊玩 *

提供可加入之多人或合作體驗的遊戲,必須使用 Multiplayer Activity (MPA) 功能,透過 XBOX 殼層介面公告可加入性。公告可加入的活動可讓玩家透過 XBOX 殼層 (例如朋友清單、玩家名片和 Game Bar) 加入,以及傳送和接收邀請,包括有跨網路玩家參與的情境。

其他資訊

可加入的體驗是指其他玩家可以合理加入的任何線上工作階段,例如合作戰役、隨時加入的多人遊戲或社交空間。當遊戲透過 MPA 公告可加入的活動時,XBOX 殼層會顯示該工作階段,讓朋友可以直接加入,或從殼層受邀加入。 當玩家不再可加入時,遊戲必須清除所公告的活動,讓殼層不會顯示無法進入的工作階段。當加入無法完成時,遊戲必須向玩家顯示原因訊息 (例如工作階段已滿或需要可下載內容)。 XBOX 殼層不會強制執行工作階段容量;遊戲負責管理玩家人數,並在工作階段已滿時拒絕加入或將加入排入佇列。僅支援透過配對加入的遊戲 (例如排名賽) 不需要透過 XBOX 殼層公告可加入性。遊戲可以將加入設定為需符合先決條件 (例如必要的可下載內容),前提是必須清楚告知玩家。

邀請

對於可加入的工作階段,從 XBOX 殼層傳送的平台邀請必須一律可用。建議提供遊戲內邀請,但並非硬性需求;遊戲不需要先提供遊戲內邀請機制,玩家即可透過殼層邀請其他人。 若遊戲確實提供遊戲內邀請機制,該機制必須透過 XBOX 平台傳送邀請,讓收件者透過 XBOX 殼層通知接收邀請。遊戲可以限制誰能傳送邀請 (例如只有主持人或隊長),並可顯示玩家 XBOX 朋友的子集。僅能在系列作品、俱樂部或公會內加入的遊戲,可相應地限定邀請範圍。

實作指引與最佳做法

使用 Multiplayer Activity (MPA) 功能來公告可加入的活動,以及傳送和接受邀請。請勿為了相同目的將 MPA 與舊版 Multiplayer Session Directory (MPSD) 混合使用,因為同時維護兩者可能會產生重複的記錄和加入衝突。每當工作階段變成無法加入時,請清除活動,並使用 XBOX 平台邀請 API,讓平台邀請與遊戲內邀請的行為保持一致。 如需使用 GDK 公告可加入的活動及傳送邀請的相關資訊,請參閱 Multiplayer Activity 概觀。

064-01 從遊戲外部加入遊戲工作階段

設定
  • 兩個 XBOX 設定檔
  • 裝置 1 設定檔 A - 與設定檔 B 是朋友
  • 裝置 2 設定檔 B - 與設定檔 A 是朋友
如需了解如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠與休眠狀態,請參閱測試暫停、睡眠與休眠。 就本測試案例而言,在 XBOX 主機上,請於步驟 5 啟動「設定」應用程式並讓其保持焦點十分鐘,以暫停遊戲。在 PC 和掌上型裝置上,請於步驟 5 讓系統進入睡眠或休眠狀態。 測試步驟
  1. 使用設定檔 A 建立可加入的遊戲工作階段。
  2. 使用未執行該遊戲的設定檔 B,透過 XBOX 殼層介面存取朋友清單,並確認設定檔 A 列為可加入。
    • 部分遊戲可能只支援私人多人遊戲工作階段,因此對設定檔 B 不會顯示為可加入;在此情況下,請直接跳至步驟 6。
  3. 設定檔 B 加入設定檔 A 的遊戲。
  4. 確認兩個設定檔都一起進入遊戲體驗。
  5. 在主機上遊戲處於暫停狀態時,以及在 PC 或掌上型裝置上系統處於睡眠或休眠狀態時,使用設定檔 B 重複步驟 1-4。
  6. 重複步驟 1-5,但這次不讓設定檔 B 透過朋友清單加入,而是讓設定檔 A 透過系統殼層傳送遊戲邀請給設定檔 B,並確認設定檔 B 可以接收、接受並加入設定檔 A。
預期結果
使用者 B 必須能夠加入使用者 A 的遊戲,並一起進入遊戲體驗。對於只支援私人多人遊戲工作階段,因此對設定檔 B 不會顯示為可加入的遊戲,可以接受邀請是加入設定檔 A 的唯一機制。對於只支援透過配對加入工作階段的多人遊戲工作階段 (例如排名賽),可以接受不支援透過 XBOX 殼層介面加入。對於支援跨平台多人遊戲的遊戲,使用者必須能夠在 XBOX One 主機與 PC 之間加入。
通過範例
  1. 兩個設定檔都一起進入遊戲體驗。
  2. 使用者 B 能夠加入使用者 A 的遊戲,並一起進入遊戲體驗。
  3. 由於遊戲只支援私人多人遊戲工作階段,使用者 A 在 XBOX 殼層介面的朋友清單中未顯示為可加入,但使用者 A 可以透過系統殼層傳送遊戲邀請給使用者 B。
  4. 使用者 A 在參與只支援透過配對加入的工作階段 (例如排名賽) 時,未顯示為可加入,且無法透過 XBOX 殼層介面傳送遊戲邀請。
失敗範例
  1. 使用者 B 無法成功加入使用者 A 的遊戲,且未進入遊戲體驗。
  2. 由於遊戲只支援私人多人遊戲工作階段,使用者 A 在 XBOX 殼層介面的朋友清單中未顯示為可加入,且使用者 A 無法透過系統殼層傳送遊戲邀請給使用者 B。

064-02 從同一個遊戲加入遊戲工作階段

設定
  • 2 個 XBOX 設定檔
  • 裝置 1 設定檔 A - 與設定檔 B 是朋友
  • 裝置 2 設定檔 B - 與設定檔 A 是朋友
測試步驟
  1. 使用設定檔 A 啟動遊戲,並在遊戲內建立可加入的遊戲工作階段。
  2. 使用設定檔 B 啟動同一個遊戲,並進入遊戲內的某個體驗。
  3. 使用設定檔 B,透過 XBOX 殼層介面存取朋友清單,並選取加入設定檔 A 的遊戲。
    • 部分遊戲可能只支援私人多人遊戲工作階段,因此對設定檔 B 不會顯示為可加入;在此情況下,請直接跳至步驟 5。
  4. 確認兩個設定檔都一起進入遊戲體驗。
  5. 重複步驟 1-4,但這次不讓設定檔 B 透過 XBOX 殼層介面的朋友清單加入,而是讓設定檔 A 透過系統殼層傳送遊戲邀請給設定檔 B,並確認設定檔 B 可以接收、接受並加入設定檔 A。
預期結果
使用者 B 必須能夠加入使用者 A 的遊戲,並一起進入遊戲體驗。對於只支援私人多人遊戲工作階段,因此對設定檔 B 不會顯示為可加入的遊戲,可以接受邀請是加入設定檔 A 的唯一機制。對於只支援透過配對加入工作階段的多人遊戲工作階段 (例如排名賽),可以接受不支援透過 XBOX 殼層介面加入。對於支援跨平台多人遊戲的遊戲,使用者必須能夠在 XBOX One 主機與 PC 之間加入。
通過範例
  1. 兩個設定檔都一起進入遊戲體驗。
  2. 使用者 B 能夠加入使用者 A 的遊戲,並一起進入遊戲體驗。
  3. 由於遊戲只支援私人多人遊戲工作階段,使用者 A 在 XBOX 殼層介面的朋友清單中未顯示為可加入,但使用者 A 可以透過系統殼層傳送遊戲邀請給使用者 B。
  4. 使用者 A 在參與只支援透過配對加入的工作階段 (例如排名賽) 時,未顯示為可加入,且無法透過 XBOX 殼層介面傳送遊戲邀請。
失敗範例
  1. 使用者 B 無法成功加入使用者 A 的遊戲,且未進入遊戲體驗。
  2. 由於遊戲只支援私人多人遊戲工作階段,使用者 A 在 XBOX 殼層介面的朋友清單中未顯示為可加入,且使用者 A 無法透過系統殼層傳送遊戲邀請給使用者 B。

064-03 遊戲內邀請

此測試案例僅適用於提供遊戲內邀請機制的遊戲。 設定
  • 兩個 XBOX 設定檔,各自登入不同的裝置
  • 裝置 1 設定檔 A - 與設定檔 B 是朋友
  • 裝置 2 設定檔 B - 與設定檔 A 是朋友
如需了解如何在 XBOX 主機上暫停遊戲,以及如何讓 PC 或掌上型裝置進入睡眠與休眠狀態,請參閱測試暫停、睡眠與休眠。 就本測試案例而言,請於步驟 5 驗證受測裝置上可用的每一種暫停、睡眠與休眠方法。 測試步驟
  1. 讓使用者 A 和 B 登入各自的裝置。
  2. 兩位使用者都啟動遊戲。
  3. 使用者 A 建立遊戲工作階段,並找到遊戲內傳送邀請的選項。
  4. 使用者 A 傳送遊戲邀請給使用者 B。
  5. 設定檔 B 從下列每個區域接受邀請,以加入設定檔 A 的遊戲工作階段。
    • 從初始開機程序到初始互動狀態之間的任何位置
    • 主選單 (若有提供)
    • 單人遊戲進行期間 (若有提供)
    • 多人遊戲進行期間 (若有提供)
    • 遊戲在主機上處於暫停狀態,或在 PC 或掌上型裝置上處於睡眠或休眠狀態,且位於主選單時 (若有提供)
    • 遊戲在主機上處於暫停狀態,或在 PC 或掌上型裝置上處於睡眠或休眠狀態,且位於單人遊戲進行期間時 (若有提供)
    • 遊戲在主選單上處於受限狀態時 (若有提供)
    • 遊戲在任何遊戲進行期間處於受限狀態時 (若有提供)
  6. 確認每次邀請後,兩個設定檔都一起進入遊戲體驗。
預期結果
當遊戲提供遊戲內邀請機制時,該機制必須透過 XBOX 平台傳送邀請,讓設定檔 B 透過 XBOX 殼層通知接收邀請,並能加入設定檔 A 主持的工作階段。
遊戲可以限制誰能傳送工作階段邀請 (例如團隊遊戲中只有隊長可以傳送)。 在此情況下,遊戲不需要採取確認破壞性動作的做法。由於遊戲無法阻止邀請或加入動作的執行,因此即使該動作會對遊戲產生破壞性影響,遊戲也不需要要求確認。 對於支援跨平台多人遊戲的遊戲,使用者必須能夠在 XBOX One 主機與 PC 之間透過邀請加入工作階段。 通過範例
  1. 遊戲內邀請選項透過 XBOX 平台傳送邀請,且設定檔 B 透過 XBOX 殼層接收並接受邀請。
  2. 玩家在遊戲中接受遊戲邀請時,未收到確認破壞性動作的訊息。
  3. 邀請已完成,但由於裝置上沒有必要的 DLC,因此無法開始/啟動工作階段。此情況已清楚告知玩家。
  4. 只有遊戲工作階段的主持人可以傳送邀請,前提是主持人身分明確。
失敗範例
  1. 遊戲內邀請機制未透過 XBOX 平台傳送邀請,因此設定檔 B 未透過 XBOX 殼層收到邀請。
  2. 接受遊戲邀請後,作用中玩家未被帶入其受邀加入的遊戲工作階段。
  3. 裝置上沒有必要的 DLC 時,邀請未完成,且未告知玩家此情況。

064-04 無法加入的遊戲

設定
  • 3 個 XBOX 設定檔,各自登入不同的裝置
  • 裝置 1 設定檔 A - 與設定檔 B 和 C 是朋友
  • 裝置 2 設定檔 B - 與設定檔 A 是朋友
  • 裝置 3 設定檔 C - 與設定檔 A 是朋友
測試步驟
  1. 使用設定檔 A 啟動遊戲,並建立可加入的遊戲工作階段。
  2. 使用設定檔 A 邀請設定檔 B 和 C 加入遊戲。
  3. 使用設定檔 A 進入遊戲工作階段,使 A 加入後只剩下一個空位。
  4. 使用設定檔 B 接受邀請。
  5. 確認設定檔 A 和 B 正在一起遊玩。
  6. 使用設定檔 C 接受邀請,並嘗試加入遊戲工作階段。
預期結果
系統要求設定檔 C 等待下一次加入的機會,或向設定檔 C 顯示無法加入遊戲工作階段的原因訊息。
通過範例
  1. 系統要求設定檔 C 等待下一次加入的機會。
  2. 系統向設定檔 C 顯示無法加入遊戲工作階段的原因訊息。
失敗範例
  1. 系統未要求設定檔 C 等待下一次加入的機會,也未向設定檔 C 顯示無法加入的訊息。

XR-067:維護最近一起玩過的互動 *

具有線上多人功能的遊戲,必須使用 Multiplayer Activity (MPA) Recent Players 功能,在 XBOX network 上記錄有意義的玩家互動。記錄互動可讓 XBOX network 知道哪些玩家一起遊玩過,讓平台能夠顯示「最近一起玩過」清單、玩家意見反應和使用情況報告。 對於仍在使用舊版 Multiplayer Session Directory (MPSD) 的遊戲,可以改為在 MPSD 中維護工作階段狀態資訊。請勿為此目的同時使用 MPA Recent Players 和 MPSD,因為同時維護兩者可能會產生重複的記錄。

067-01 最近一起玩過的互動

測試步驟
  1. 登入 XBOX 設定檔,並在多部裝置上啟動遊戲。
  2. 與所有玩家完成一場 XBOX 遊戲工作階段。
  3. 返回首頁並檢視「最近一起玩過」清單,確認遊戲工作階段中的所有玩家都已列入。
  4. 再重複步驟 1-3 數次,但每次都使用新帳戶。
  5. 重複步驟 1-4,但這次讓一或多位玩家在遊戲進行期間離開,並確保其設定檔在步驟 2 期間仍會出現在「最近一起玩過」清單中。
預期結果
使用者必須能夠檢閱每一場最近遊玩之遊戲工作階段中的所有玩家。
通過範例
  1. 所有設定檔都列入裝置的「最近一起玩過」清單中。
失敗範例
  1. 並非所有設定檔都列入裝置的「最近一起玩過」清單中。
  2. 在多人遊戲進行期間退出的使用者,未出現在「最近一起玩過」清單中。

XR-070:朋友清單 *

遊戲必須使用 XBOX network 朋友清單作為主要的朋友清單。遊戲必須從 XBOX API 取得朋友清單,且不得在遊戲伺服器上永久儲存朋友清單。 對於不在 XBOX network 上或不在使用者 XBOX network 朋友清單中的玩家,遊戲可以顯示來自中央遊戲帳戶的次要朋友清單。根據設計,遊戲可以建立混合式朋友清單體驗,在同一個集中位置同時包含 XBOX network 朋友與發行者帳戶朋友;此時必須使用圖示或其他辨識標記,區分 XBOX 朋友與其他網路上的朋友。 如需使用 GDK 運用朋友清單的相關資訊,請參閱 People System (朋友清單) 概觀

070-01 XBOX 朋友清單

測試步驟
  1. 找出遊戲內顯示的任何人員清單,並確認其中包含 XBOX network 朋友清單。
  2. 如果遊戲支援同時包含 XBOX network 朋友與發行者帳戶朋友的混合式朋友清單,請確認已使用圖示或其他辨識標記加以區分。
預期結果
遊戲必須使用 XBOX API,將 XBOX network 朋友清單作為主要的朋友清單,且不得在遊戲伺服器上永久儲存該清單。顯示同時包含 XBOX network 朋友與發行者帳戶朋友的混合式朋友清單時,遊戲必須區分這些朋友。
通過範例
  1. 遊戲使用 XBOX API,將 XBOX network 朋友清單作為主要的朋友清單。
  2. 遊戲具有替代的人員清單,例如最近的玩家或公會成員,且這些清單未定位為使用者的核心清單。
  3. 遊戲顯示經過篩選的朋友清單,只顯示玩過該遊戲的朋友,在某些情況下,只顯示目前在線上,或目前在線上且正在遊戲中活動的朋友。
  4. 遊戲顯示同時包含 XBOX network 朋友與發行者帳戶朋友的混合式朋友清單,並使用圖示或其他辨識標記加以區分。
失敗範例
  1. 遊戲未使用 XBOX API 顯示朋友清單。
  2. 遊戲在遊戲伺服器上永久儲存朋友清單。
  3. 遊戲顯示同時包含 XBOX network 朋友與發行者帳戶朋友的混合式朋友清單,但未加以區分。

搶先體驗版與 Game Preview

此類別中的需求僅適用於分類為搶先體驗版 (Beta) 或 Game Preview 的遊戲。如需其他市集原則,以及開放式與封閉式搶先體驗版的計畫專屬定義、大小限制、期間、定價、中繼資料和優惠,請聯絡您的 Microsoft 連絡人。 搶先體驗版與 Game Preview 遊戲須遵守本文件所列 XR 的一個子集。此子集的範圍詳述於 Game Preview 與搶先體驗版的 XBOX 需求頁面。

XR-117:搶先體驗版/Game Preview 通知 *

處於搶先體驗階段的遊戲,必須在體驗啟動後、遊戲進行或應用程式使用之前,於體驗內顯示啟動顯示畫面或訊息,告知以下事項:
  • 此遊戲為搶先體驗版/發行前軟體。
  • 部分平台功能可能無法正常運作。
  • 部分遊戲功能可能無法正常運作,且可能會當機。
通知也必須概述該遊戲的支援範圍。

117-01 向使用者顯示搶先體驗版/Game Preview 通知

測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 確認在使用者能夠參與遊戲進行或使用應用程式之前,會顯示訊息,至少告知以下事項:
    • 此遊戲為搶先體驗版/發行前軟體。
    • 部分平台功能可能無法正常運作。
    • 部分遊戲功能可能無法正常運作,且可能會當機。
    • 通知也必須概述該遊戲的支援範圍。
預期結果
遊戲必須告知使用者,該遊戲為搶先體驗版/發行前版本,可能無法完全如預期運作。
通過範例
  1. 在使用者能夠使用遊戲內的功能之前,即已通知使用者該遊戲的搶先體驗版/發行前狀態。
失敗範例
  1. 遊戲未顯示訊息通知使用者該遊戲的搶先體驗版/發行前狀態。
  2. 使用者在看到遊戲有關搶先體驗版/發行前狀態的通知之前,就能存取遊戲功能。

BVT:組建的認證前測試

下列測試用於檢查遊戲是否已準備好進行 XBOX 認證測試。

BVT-01 組建穩定性

測試步驟
  1. 啟動遊戲、瀏覽所有選單並進入遊戲進行
  2. 嘗試重現執行其他 BVT 時發現的穩定性問題
預期結果
遊戲不得有會阻礙完整 XR 測試的穩定性問題或過長的載入時間。

BVT-02 配對

測試步驟
  1. 主機 1:選取最基本的 XBOX 遊戲模式,並主持一場 XBOX 遊戲工作階段。
  2. 主機 2:使用快速配對加入主機 1 的 XBOX 遊戲工作階段。(重複此步驟,直到加入的主機數量達到開始遊戲工作階段所需的最低數量為止。)
  3. 主機 1 和 2:開始並完成 XBOX 遊戲工作階段。
  4. 確認配對正常運作,且使用者可以在所有其他支援的遊戲模式中進入遊戲進行。
預期結果
主機 2 應一律能夠找到並加入主機 1 的遊戲工作階段。兩部主機都應能夠完成 XBOX 遊戲工作階段,而不會中斷連線或遇到穩定性問題。

BVT-03 DLC

測試步驟
  1. 確認隨遊戲提交的可下載內容可以使用 XBOX Store 或遊戲內機制下載。
  2. 下載後,確認可以在遊戲中輕鬆識別該內容。(隨提交資料提供詳細的可下載內容說明,有助於認證小組找到可下載內容。)
預期結果
隨遊戲提交的可下載內容必須可以使用 XBOX Store 或遊戲內 UI 下載,且下載後應可在遊戲中輕鬆識別。

BVT-05 語言

測試步驟
  1. 透過 XBOX 裝置的「設定」應用程式,將語言設定為英文。
  2. 進入遊戲。
  3. 確認遊戲:
    • 不會當機或進入無回應狀態。
    • 不會在畫面上輸出任何偵錯資訊。
    • 在所有預定區域中實作當地語系化。
  4. 針對遊戲支援的所有語言重複步驟 1-4。
預期結果
遊戲包含所有支援的語言。遊戲也不應有特定語言專屬的穩定性問題或偵錯資訊。

BVT-07 基本設定

測試步驟
  1. 啟動遊戲,並確保所有 BVT 功能檢查都不需要變更主機設定 (例如時間/日期) 即可運作。
  2. 確認不需要任何因應措施即可抵達遊戲的主選單。
預期結果
遊戲進入認證時,基本功能應可正常運作。

BVT-08 XBOX Store 可用性

所需工具:
  • 已發佈至您開發人員沙箱的遊戲。
  • 已發佈至 CERT 和 CERT.DEBUG 沙箱的遊戲。
測試步驟
  1. 將遊戲發佈至您的開發人員沙箱。
  2. 從市集安裝遊戲。
  3. 啟動遊戲並進入遊戲進行。
[!Important] 提交認證時,請將遊戲發佈至 CERT 和 CERT.DEBUG 沙箱。
預期結果
遊戲必須能夠從 CERT 和 CERT.DEBUG 沙箱安裝。

BVT-09 重新提交條件

測試步驟
  1. 重現該遊戲最近一份認證報告中記錄為 CFR 的所有問題。
  2. 確認所有記錄為 CFR 的問題都已修正。任何仍可重現的問題都必須具有已核准的例外。
預期結果
先前報告中標示為 CFR 的問題必須已修正,除非已獲准例外。
請聯絡您的 Microsoft 連絡人,以了解提出例外申請的步驟。

BVT-10 版本檢查

測試步驟
  1. 安裝遊戲。
  2. 進入「我的遊戲和應用程式」,反白顯示該遊戲,按下 Menu button,然後選取「管理遊戲和附加元件」。
  3. 選取「檔案資訊」。
  4. 將已安裝產品的 FullName 與提交文件/啟動郵件中列出的套件名稱進行比較。
預期結果
已安裝 XVC 的 FullName 與啟動郵件/提交文件中記載的內容完全相符。

BVT-12 合作夥伴託管的服務

測試步驟
  1. 登入 XBOX 設定檔並啟動遊戲。
  2. 確認所有合作夥伴託管的服務都可以存取。
預期結果
所有合作夥伴託管的服務都已設定為可供測試,且所有依賴這些服務的功能都可以存取。

BVT-13 年齡分級驗證

設定:
  1. 遊戲必須是最終版本 (基礎版本或內容更新)。
    • 最終版本 (基礎版本/內容更新) - 所有需要憑證的地區設定都必須提供憑證。
    • 超出範圍 - DLC、遊戲內內容 - 不需要測試。
  2. 提交資料可供檢閱。
  3. 可存取 Microsoft Partner Center 中的產品年齡分級。
測試步驟
  1. 確認下列文件/資訊可供使用:
    • 提交之 XVC 的 Submission Validator 記錄。
    • Partner Center 中的年齡分級聲明。
    • 年齡分級憑證。
  2. 開啟 Submission Validator 記錄檔,並確保 <component>Manifest-Ratings</component> 測試未顯示任何警告或失敗。
    • 對於 2020 年 5 月 11 日之後通過認證的所有遊戲:AppxManifest 中不得存在 ratings 元素。
    • 對於 2020 年 5 月 11 日之前通過認證的遊戲:AppxManifest 中允許存在 ratings 元素。
  3. 開啟 Partner Center 以檢閱產品的年齡分級資訊
    • 針對顯示的每個值,確認已提供與該年齡分級完全相符的對應分級憑證。
預期結果
  1. 所有這些檔案都必須提供,且必須與此提交類型相關。
  2. 所有分級都必須提供對應的憑證。
  3. 於 2020 年 5 月 11 日之後進入認證的基礎最終提交,不得在 AppxManifest 中定義年齡分級元素。
  4. 對於 2020 年 5 月 11 日之前通過認證的遊戲,其內容更新不得在 AppxManifest 中新增或移除分級,但完全移除 ratings 元素除外。

BVT-14 UWP 服務設定驗證

設定 遊戲必須是 UWP 提交。 測試步驟
  1. 登入先前未曾存取該遊戲的 XBOX 設定檔。
  2. 啟動遊戲。
  3. 確保系統提示使用者接受 XBOX 帳戶權限。
  4. 在主選單或前端選單中,執行下列命令 xbdir "XS:\Program Files\WindowsApps\{XVC}\",並搜尋 ‘xboxservices.config’ 檔案。
預期結果
遊戲的服務設定必須已設定為測試用。
通過範例
  1. 遊戲包含服務設定檔,且系統會提示新使用者接受 XBOX 帳戶權限。
失敗範例
  1. 不存在服務設定檔。
  2. 存在服務設定檔,但大小為 0 位元組。
  3. 系統未提示新使用者接受 XBOX 帳戶權限。

BVT-15 Intelligent Delivery

測試步驟
  1. 取得遊戲的 XVC,並使用 packageutil chunkinfo [XVC] > chunkinfo.xml 命令產生 Chunkinfo.xml 檔案。
  2. 使用產生的 chunkinfo.xml 判斷遊戲是否支援 Intelligent Delivery。
  3. 如果支援 Intelligent Delivery,請使用 xbapp install /[Chunk Parameter] [XVC] 命令,針對下列每一項各開始一次全新安裝:
    • 使用參數 /Languages= 的語言套件 (切換至另一個支援的語言區塊,並使用系統設定或遊戲內語言選項下載額外的語言套件)
    • 使用參數 /Devices= 的裝置專屬內容
    • 使用參數 /ContentTypes= 的內容類型
    • 使用參數 /Tags= 的隨選內容
預期結果
遊戲正確安裝預期的 Intelligent Delivery 區塊,且未發生任何不良影響。

主機測試平台配置

主機測試平台配置包含所有 XBOX 主機平台與世代的裝置。此全面的設定可確保測試涵蓋各種組態,以維持相容性與效能標準。如需主機平台與世代的詳細需求,請參閱 XR-130:XBOX Series X|S 世代。 下表概述測試平台中使用的各種主機設定與組態。

PC 測試平台配置

在各種 PC 硬體組態上測試遊戲,對於確保相容性、找出潛在問題以及提供最佳使用者體驗而言至關重要。透過測試不同的顯示解析度、顯示卡、GPU 和 CPU,開發人員可以確保遊戲在各種設定上都能良好執行,為所有玩家帶來更好的遊戲體驗。 下表概述測試平台中使用的各種 PC 組態。

此版本的變更

最後修改於 2026年10月8日