跳轉到主要內容
本指南涵蓋使用 2025 年 10 月 GDK (版本 2510) 實作 PlayFab Game Saves。無論您是 Game Saves 的新手,還是正從先前的實作進行移轉,本文件都會提供基本需求和設定指示,並特別關注 Steam Deck 支援。

實作需求概觀

使用 2025 年 10 月 GDK 實作 PlayFab Game Saves 時,您需要了解四個關鍵元件:
  1. 新的 GDK 資料夾配置:以平台為中心的 SDK 目錄結構
  2. XGameRuntime 整合:具有特定部署需求的跨平台執行階段
  3. PlayFab Unified SDK:適用於所有 PlayFab 元件的現代 SDK 架構
  4. 其他 Unified SDK 元件:更新的 Party 和 Multiplayer 元件 (如有使用)
對於 2025 年 10 月 GDK 及更新版本的所有 Game Saves 實作 (包括 Steam Deck 支援),前三個元件都是必要的。第四個元件只有在您的遊戲使用 PlayFab Party 或 Multiplayer 功能時才適用。
**初次使用 Game Saves?**請從 Game Saves 概觀和快速入門指南開始了解基本概念,然後返回此處取得 2025 年 10 月 GDK 特定的實作詳細資料。

1. GDK 資料夾配置和路徑設定

目前的 GDK 結構

2025 年 10 月 GDK 使用扁平、以平台為中心的目錄結構。了解此配置對於正確設定建置系統至關重要。 2025 年 10 月 GDK 配置:
**從較早的 GDK 移轉?**先前的資料夾結構 ($(GDK)\GRDK\ and $(GDK)\GXDK\) 已被取代。請相應地更新您的建置指令碼。

設定您的建置系統

必要的路徑設定

設定您的建置系統以使用正確的平台特定路徑:

建置系統設定範例

CMake 設定:
MSBuild 設定:

平台支援詳細資料

  • XBOX:所有近代 XBOX 主機世代都使用 xbox 資料夾
  • Windows:所有 Windows 平台 (PC、Steam PC、Steam Deck-Proton) 都使用 windows 資料夾
  • Steam Deck:雖然執行 SteamOS,但為了與 Proton 模擬相容,使用 windows 資料夾

實作步驟

  1. 設定您的建置系統
    • 使用新的 GDK 結構設定 include 和程式庫路徑
    • 如果以多個平台為目標,請新增平台偵測邏輯
    • 在所有目標平台上測試編譯
  2. 驗證 Game Saves 整合
    • 確保所有必要的程式庫都正確連結
    • 在您的目標平台上測試功能
    • 確認 PlayFab 服務連線

2. XGameRuntime 整合

了解 XGameRuntime

XGameRuntime 為所有平台上的 XBOX Live 服務和 Game Saves 功能提供基礎。以下是您需要了解的內容:

核心元件

xgameruntime.lib (匯入程式庫)
  • 在編譯時連結至您的遊戲專案
  • 自動找到並載入執行階段 DLL
  • 處理服務探索 (本機與系統)
xgameruntime.dll (執行階段程式庫)
  • 實作 XBOX Live 和 Game Saves 功能
  • 位置:{GDK}\windows\bin\xgameruntime.dll
  • 對 Steam 組建至關重要:必須與您的遊戲一起部署

實作需求

1. 基本整合

所有 Game Saves 實作都需要初始化 XGameRuntime:

2. Steam 平台需求

Steam 組建的必要項目: 為 Steam 建置時,您必須在遊戲目錄中包含 xgameruntime.dll。如果沒有此 DLL,在 Steam Deck 上執行時:
  • XBOX Live 驗證將會失敗
  • Game Saves 功能將無法使用
部署結構:
Microsoft Store 組建會自動從系統載入 XGameRuntime,不需要部署 DLL。

3. 自動化 DLL 部署

CMake 設定:
MSBuild 設定:

平台特定的執行階段行為

Steam Deck 支援特別需要部署本機 DLL。系統無法像其他平台一樣回復到系統服務。此外,同步引擎在同處理序中執行,這表示遊戲必須確保在關閉之前同步重要的存檔資料。

3. PlayFab Unified SDK 整合

什麼是 PlayFab Unified SDK?

PlayFab Unified SDK 是一個現代、一致的 SDK,將所有 PlayFab 元件整合在單一架構下。Game Saves 現在是此統一系統的一部分,提供: 對 Game Saves 開發的好處:
  • 跨所有 PlayFab 元件的統一記憶體管理
  • 一致的非同步作業模式
  • 整合的追蹤和診斷
  • 模組化元件載入 (只包含您需要的內容)
**初次使用 PlayFab?**Unified SDK 透過在所有 PlayFab 服務中提供單一、一致的 API 模式來簡化整合。如果您是第一次實作 Game Saves 或任何其他 PlayFab 服務,您會想要從這個現代架構開始。

必要的 SDK 元件

Game Saves 實作需要這些 Unified SDK 元件: 基本元件:
  • libHttpClient:跨平台 HTTP/WebSocket 通訊
  • PlayFab Core:驗證、實體管理和設定
  • PlayFab GameSave:Game Saves 特定功能
選用元件:
  • PlayFab Services:用於 LiveOps、帳戶管理和其他進度系統的共用服務 (如果使用其他 PlayFab 服務,建議使用)

程式庫和 DLL 需求

連結所需的程式庫

部署所需的 DLL

建置系統設定

MSBuild 設定

設定您的 Visual Studio 專案以連結 Unified SDK:
**從較早的 GDK 移轉?**請將 $(GDK)\GRDK\...\include 之類的舊路徑取代為上方顯示的新結構。

CMake 設定

對於以 CMake 為基礎的專案,請設定相依性和部署:

程式碼實作

必要的標頭

在您的專案中包含必要的 Unified SDK 標頭:

初始化順序

依照此初始化順序進行正確的 Game Saves 設定:
從 PlayFab Game Manager 中遊戲的設定下取得您的遊戲識別碼和 API 端點。

正確的清除順序

關閉應用程式時,請以相反的順序清除資源:
一律對 PlayFab Services 和 Core 使用非同步清除模式,以確保正確釋放資源。

4. 其他 PlayFab Unified SDK 元件

Party 和 Multiplayer API 變更

雖然 Game Saves 功能不直接需要它們,但 2025 年 10 月 GDK 也包含作為 Unified SDK 一部分的 PlayFab Party 和 PlayFab Multiplayer 元件更新版本。這些元件有新的 API,能更好地與統一驗證系統整合。

與獨立 SDK 相比的主要變更

驗證整合:
  • 舊版模式:先前,使用獨立 Party/Multiplayer SDK 的遊戲必須從 PlayFab 登入結果手動管理 EntityID 和 EntityToken,並將其傳遞給 Party/Multiplayer API
  • Unified SDK 模式:Party 和 Multiplayer 現在直接接受 PFEntityHandle,不再需要手動管理權杖
可用的新 API:
  • Party:接受 PFEntityHandle 進行使用者驗證的新 API
  • Multiplayer:接受 PFEntityHandle 進行大廳和配對作業的新 API
移轉的好處 (如果使用 Party/Multiplayer):
  • 透過自動權杖重新整理簡化驗證流程
  • 跨所有 PlayFab 元件的一致錯誤處理模式
  • 統一的記憶體管理和非同步作業模式
Party 和 Multiplayer 元件:如果您的遊戲使用 PlayFab Party 或 Multiplayer,請考慮移轉至直接接受 PFEntityHandle 的新統一 API,以改善整合。不過,Game Saves 功能並不需要這麼做——如果您只使用 Game Saves,可以放心略過第 4 節。

5. Steam Deck 實作

PlayFab Game Saves 的 Steam Deck 支援除了標準 PC 組建之外,還需要大量額外的實作,包括自訂驗證流程、完整的 UI 回呼和謹慎的同步策略。
Steam Deck 實作的複雜度:Steam Deck 整合涉及自訂驗證流程、UI 回呼實作,以及重要的同步行為差異。由於實作需求的複雜度和篇幅,Steam Deck 實作有其專屬指南。

Steam Deck 的關鍵考量

重要的同步行為差異:
  • Windows PC:Game Saves 跨處理序執行,可以在遊戲關閉後繼續同步
  • Steam Deck:Game Saves 只在同處理序中執行,並在遊戲關閉時停止同步
實作需求:
  • 所有 Unified SDK DLL 都必須與您的 Steam 組建一起部署
  • 具有 UI 回呼的自訂 XUser 驗證流程
  • 用於非零售沙箱測試的登錄設定
  • 頻繁的同步模式以防止資料遺失
通用同步建議 (對所有平台都有益): 雖然這些模式是 Steam Deck 所必需的,但強烈建議所有平台都使用,特別是經常突然關機的手持裝置:
  • 經常同步存檔資料 (在每個關卡、檢查點或重大進度之後)
  • 一律在顯示「結束遊戲」確認之前進行同步
  • 考慮在遊戲轉換期間進行背景同步
  • 實作同步進度指標,以確保在關閉之前完成

完整的 Steam Deck 實作

如需完整的 Steam Deck 實作詳細資料,包括:
  • 詳細的驗證流程設定
  • 完整的 UI 回呼實作
  • 逐步初始化順序
  • 疑難排解指南
  • 範例程式碼參考
請參閱專屬的 Steam Deck 實作指南
請先從本文件中的需求開始,然後再前往 Steam Deck 指南取得平台特定的實作詳細資料。

6. 實作檢查清單

開始使用 (新實作)

  • 設定 2025 年 10 月 GDK 並確認安裝
  • 使用正確的 GDK 路徑和程式庫參考設定建置系統
  • 將 Unified SDK 程式庫新增至您的專案連結設定
  • 在原始程式碼中包含必要的標頭
  • 依照 Unified SDK 模式實作初始化順序
  • 為 Steam 組建設定 DLL 部署 (4 個必要 DLL,1 個選用)
  • 在您的目標平台上測試基本功能

移轉 (現有實作)

  • 將建置系統路徑從舊的 GDK 結構更新為新的配置
  • 以 Unified SDK 元件取代獨立程式庫
  • 更新標頭 include 以使用新的 Unified SDK 標頭
  • 修改初始化順序以使用新的 Unified SDK API
  • 以正確的非同步清除模式更新清除順序
  • 將其他 DLL 新增至 Steam 部署 (1 個 DLL → 4-5 個 DLL)
  • 確認功能在移轉後保持完整

建置系統設定

  • Include 路徑:設定為 $(GDK)\windows\include (或平台對等路徑)
  • 程式庫路徑:設定為 $(GDK)\windows\lib\x64 (或平台對等路徑)
  • 連結程式庫:將必要的 .lib 檔案新增至連結器相依性 (4 個必要,1 個選用)
  • DLL 部署:為 Steam 組建設定自動複製
  • 平台偵測:如果為多個平台建置,請新增邏輯

程式碼實作工作

  • 標頭:包含所有必要的 Unified SDK 標頭
  • 初始化:實作正確的 5 步驟初始化順序
  • 錯誤處理:為每個初始化步驟新增適當的錯誤檢查
  • 清除:使用非同步模式實作反向順序的清除
  • 設定:以您的 PlayFab 遊戲識別碼和端點取代硬式編碼的值

測試需求

  • Windows PC:確認 Game Saves 功能
  • Steam Deck:使用 Steam Deck 實作指南完成實作
  • Microsoft Store:確認功能沒有退化
  • 跨平台:測試所有平台 (PC、Steam Deck、XBOX) 之間的存檔同步

7. 資源和支援

文件連結

範例程式碼參考

  • Windows Game Saves 範例:PlayFabGameSaveSample-Windows
    • GameSaveIntegration.cpp/.h - 核心 Game Saves 整合
    • SteamIntegration.cpp/.h - Steam Deck 特定實作 (請參閱 Steam Deck 指南)
    • GameSaveIntegrationUI.cpp/.h - UI 回呼實作 (請參閱 Steam Deck 指南)
最後修改於 2026年10月8日