Skip to main content
當您的 PC GDK 遊戲開始執行後,請依照設計需求加入選用的 XBOX 服務和 Microsoft Azure PlayFab 功能。這些都不是發佈到 Microsoft Store 的必要條件,請選擇適合您遊戲的項目。

建議的採用順序

  1. 登入與身分識別:XUser 和 PlayFab 登入。
  2. 成就與統計資料:XSAPI 成就 和 玩家統計資料。
  3. 雲端存檔:XGameSave。
  4. 社交:朋友和最近的玩家 和 Rich Presence。
  5. 多人遊戲:大廳、配對、多人遊戲、邀請 和 聊天。
  6. 商務:XStore、遊戲內購買 和 DLC。
  7. 伺服器端整合:S2S 驗證、使用者產生的內容 和 即時營運。

選用服務主題

下方每一列都對應到來源 PC E2E 指南中涵蓋的主題。詳細的整合指引位於連結的功能文件中。

聊天

使用 PlayFab Party 在 PC 和 XBOX 上進行同步語音和文字聊天。主要步驟:
  1. 設定 PlayFab Party SDK。
  2. 透過 XBOX 服務和 PlayFab 驗證玩家。
  3. 使用 PartyManager::CreateNewNetwork() 建立或加入 Party 網路。
  4. 為每位本機使用者建立 PartyLocalChatControl,並使用 PartyNetwork::ConnectChatControl() 將其連線。
  5. 透過 PartyLocalChatControl::SetAudioInput/Output 和 PartyAudioDeviceSelectionType 選擇音訊輸入/輸出裝置。
  6. 設定聊天控制項配對之間的聊天權限和靜音狀態。
  7. 透過 SendText 新增文字聊天,並可選擇透過 SetTextChatOptions 進行翻譯。
  8. 新增協助工具功能:透過 Azure Speech Services 進行語音轉文字轉錄和文字轉語音合成。
  9. 對擷取的麥克風音訊啟用噪音抑制。
如果您也在 XBOX 上發行,請使用 Party XBOX Live Helper Library 以符合 XBOX 服務需求。

遊戲內購買

使用 XStore (透過 XGameRuntime.h) 在 Microsoft Store 上實作遊戲內購買流程:
  • 查詢市集目錄、相關產品 (附加元件、消耗性產品、耐久性產品) 以及使用者的權利集合。
  • 透過 XStoreShowPurchaseUIAsync 顯示購買 UI。
  • 透過 XStoreReportConsumableFulfillmentAsync 消耗消耗性產品。
  • 權利變更後,使用 XStoreQueryProductForCurrentSkuAsync 重新整理授權。
對於由 PlayFab 驅動的虛擬經濟 (貨幣、物品欄、組合),請將 XStore 購買與 PlayFab Economy v2 搭配使用。

邀請

使用 PlayFab Lobby 處理跨 PC/XBOX 的邀請和加入:
  1. 整合 PlayFab Lobby 與 Matchmaking SDK。
  2. 透過 XBOX 服務和 PlayFab 進行驗證。
  3. 選擇大廳擁有權:玩家擁有 (PFMultiplayerCreateAndJoinLobby)、伺服器擁有 (PFMultiplayerCreateAndClaimServerLobby) 或由配對建立。
  4. 透過 PFMultiplayerStartListeningForLobbyInvites 接聽邀請。
  5. 透過平台的邀請 UI 傳送邀請,讓目標對象看到原生的 XBOX/市集通知。
大廳同時也是玩家接受邀請後加入的遊戲工作階段。

排行榜

使用 XSAPI 遊戲管理的排行榜,在 XBOX 服務上提供社交和全球排行榜:
  1. 在 Partner Center 的 XBOX services → Player data 下定義排行榜。
  2. 使用 Stats Manager 發出與排行榜相關的統計資料事件。
  3. 透過 XblLeaderboardGetLeaderboardAsync (全球) 或 XblLeaderboardGetLeaderboardForSocialGroupAsync (朋友) 查詢排行榜。
請參閱 排行榜。

大廳

使用 PlayFab Lobby 處理共用的工作階段狀態 (成員清單、任意屬性、擁有權):
  • 使用 PlayFab Multiplayer C SDK 建立、加入、尋找和離開大廳。
  • 將遊戲中繼資料儲存為大廳屬性 (遊戲模式、地圖、就緒狀態)。
  • 與 PlayFab Matchmaking 結合,從配對成功的群組組成大廳。
  • 與 PlayFab Party 結合,在大廳成員資格之上加入網路和語音功能。

配對

使用 PlayFab Matchmaking 進行以技術/屬性為基礎的配對,並產生共用大廳:
  • 在 PlayFab Game Manager 中定義配對佇列,並設定針對玩家屬性的規則。
  • 透過 PFMatchmakingCreateMatchmakingTicket 提交票證。
  • 找到配對時,玩家會被放入您擁有的共用大廳。
對於僅使用 XBOX Live 的遊戲,也支援透過 MPSD 使用 SmartMatch,但對於新遊戲,建議的途徑是 PlayFab Matchmaking。

多人遊戲

PC/XBOX 上支援兩種多人遊戲堆疊:
  • PlayFab Multiplayer:跨平台,使用 PlayFab Lobby 處理工作階段,並使用 PlayFab Party 進行傳輸。建議用於新遊戲。
  • XBOX 服務多人遊戲:MPSD 工作階段 + Multiplayer Manager (MPM)。仍支援僅限 XBOX 的遊戲。
這兩種途徑都在 多人遊戲概觀 中說明。

網路

使用 PlayFab Party 作為即時遊戲流量的網路傳輸:
  • 在已連線的端點之間傳送可靠/不可靠的訊息。
  • 在同一個 Party 網路上傳輸語音、文字和遊戲資料。
  • 在 XBOX 上,Party 會自動與平台的網路路徑整合;在 PC 上,則使用 UDP 並提供後援。

玩家統計資料

使用 XSAPI Stats Manager 處理遊戲管理的玩家統計資料:
  1. 在 Partner Center 的 XBOX services → Player data 下定義統計資料。
  2. 使用 XblStatsManagerSetStatAsNumber / SetStatAsString 將統計資料新增至玩家。
  3. 根據遊戲進行情況遞增或覆寫統計資料。
  4. 每個畫面格使用 XblStatsManagerDoWork 排清待處理的更新。
統計資料為排行榜提供資料,並會顯示在玩家的個人檔案上。

Rich Presence

使用 XSAPI Presence 廣播玩家正在進行的活動:
  1. 在 Partner Center 中定義狀態列舉和字串集。
  2. 當玩家轉換到新狀態 (功能表、關卡、對戰) 時,使用 XblPresenceSetPresenceAsync 更新狀態。
  3. 使用 XblPresenceGetPresenceAsync 或 XblPresenceGetPresenceForMultipleUsersAsync 查詢其他玩家。
請參閱 Rich Presence。

S2S 驗證

當您的後端需要代表玩家呼叫 Microsoft Store API 時,請使用 Microsoft Entra ID + User Store ID 進行服務對服務驗證:
  • 兩種 User Store ID 類型:
    • UserCollectionsID:向 Microsoft Store Collections 服務 (權利清單) 進行驗證。
    • UserPurchaseID:向 Microsoft Store Purchase 服務 (交易驗證) 進行驗證。
  • 您的服務會取得 Entra ID 存取權杖,並將其與來自遊戲用戶端的 User Store ID 一起用來呼叫 Store REST API。
  • 建議用於新遊戲;以 X-token 為基礎的驗證屬於舊版方式。

使用者產生的內容

在第一方或第三方資產管線之上,使用 PlayFab Economy v2 建立 UGC 目錄:
  1. 透過 PlayFab 驗證玩家。
  2. 使用 CreateUploadUrls 產生已簽署的上傳 URL。
  3. 使用 CreateDraftItem (Type:ugc) 建立草稿項目。
  4. 透過 GetEntityDraftItems 列舉草稿項目。
  5. 使用 PublishDraftItem 發佈:已發佈的項目會出現在公開目錄中。
  6. 使用 GetItemPublishStatus 檢查狀態。
  7. 使用 SearchItems (OData Filter、OrderBy、Select) 查詢目錄。
選用的審查/仲裁由 PlayFab Game Manager 中的目錄審查者處理。

相關內容

相關 API 文件

Last modified on October 6, 2026