跳轉到主要內容
這裡記載的 REST 和 SignalR API 比用戶端 SDK 更複雜。除非這些 SDK 無法滿足您的需求,否則請考慮改用大廳 C++ SDK 或配對 C++ SDK。
大廳和配對服務的即時訊息功能透過 SignalR 服務運作,該服務會公開 SignalR 中樞。遊戲用戶端可以使用此 SignalR 中樞,接收有關其所訂閱之資源的訊息。

連線至 SignalR 中樞

接收即時訊息的第一步是建立 SignalR 用戶端。用戶端可以使用下列 API 具現化 HubConnection,以建立與 SignalR 中樞的連線:SignalR Negotiate REST API。此 API 實作了 SignalR 文件中所述的 Negotiate API。
強烈建議在連線至 SignalR 中樞時使用 MessagePack (MsgPack) 編碼,未來也將強制使用此編碼作為唯一支援的編碼。
建置 HubConnection 時,用戶端必須將 KeepAliveInterval 設定為 5 秒。後端服務會讓未在 10 秒內收到保持連線 Ping 的連線逾時並將其關閉。SignalR 預設的 KeepAliveInterval 為 15 秒,速度太慢,將會導致中斷連線。 csharp var connection = new HubConnectionBuilder() .WithUrl(hubUrl, options => { /* auth headers */ }) .WithKeepAliveInterval(TimeSpan.FromSeconds(5)) .Build(); 如需 SignalR 用戶端設定的詳細資訊,請參閱 SignalR 設定文件。
  1. SignalR 用戶端實作預期 URL 會省略此路徑的 /negotiate 部分 (例如,應建立連至以 ...playfabapi.com/pubsub 結尾之 URL 的 HubConnection)。 1. 呼叫此 API 所需的驗證標頭可透過 HttpConnectionOptions 傳遞給 SignalR 用戶端,如此方法所示。

實作用戶端方法以接收訊息

請參閱 SignalR 用戶端關於實作用戶端方法的文件,這些方法將被叫用以接收訊息。用戶端應實作下方用戶端方法中列出的所有方法。

透過呼叫伺服器方法來啟動和結束工作階段

請參閱 SignalR 用戶端關於呼叫伺服器方法的文件來管理您的工作階段。例如,連線至中樞後,您必須呼叫 StartOrRecoverSession 以接收 connection handle,您可以用它來訂閱資源。同樣地,當您完成工作階段時,請呼叫 EndSession。

訂閱資源

使用 StartOrRecoverSession 啟動工作階段後,您可以使用傳回的 connection handle 開始訂閱資源並接收訊息。

API

用戶端方法

伺服器方法

共用工作階段方法

另請參閱

最後修改於 2026年10月8日