跳轉到主要內容
本主題旨在作為多人遊戲活動用戶端 API 基本用法的快速入門指南。本主題討論管理活動、傳送邀請,以及將玩家新增至最近的玩家清單。 活動 邀請 最近的玩家

活動

設定活動

每當遊戲開始或加入多人遊戲體驗時,都應建立活動。這麼做可讓殼層以及您遊戲中的其他玩家看到該玩家的活動,並讓其他玩家有可能加入進行中的遊戲。如果玩家想要加入您遊戲的活動,而遊戲並未執行,遊戲會被啟用並傳入連線字串。 遊戲應在玩家加入或離開時更新活動。這可為其他玩家提供更豐富的活動檢視,並告知他們活動是否已滿。 如需活動欄位的相關資訊,請參閱活動內容。 以下是設定活動的程式碼範例。它適用於建立活動以及更新現有的活動。
如需詳細資訊,請參閱下列內容: 返回本主題頂端。

取得活動

遊戲可能會想要知道其他玩家的活動。例如,遊戲可能會想要在遊戲內 UI 中顯示玩家在該遊戲中的好友及其活動。 以下是擷取活動的程式碼範例。
如需詳細資訊,請參閱下列內容: 返回本主題頂端。

刪除活動

當玩家結束或離開多人遊戲活動時,遊戲應使用下列程式碼刪除活動。
如需詳細資訊,請參閱下列內容: 返回本主題頂端。

邀請

在沒有 UI 的情況下傳送邀請

玩家可能會想要直接傳送邀請給一或多位其他玩家。在傳送邀請之前,遊戲應確保已設定活動。這可確保殼層與您的遊戲之間的連續性,因為殼層會根據目前的活動傳送邀請。 若要在沒有 UI 的情況下傳送邀請,在使用 XblMultiplayerActivitySetActivityAsync 設定活動之後 (請參閱上方範例),遊戲應呼叫 XblMultiplayerActivitySendInvitesAsync API,並傳遞要邀請的玩家陣列,以及您目前活動中使用的相同連線字串。 如需邀請內容的相關資訊,請參閱傳送要求讓另一位玩家加入多人遊戲體驗。。 以下是在沒有 UI 的情況下傳送邀請的程式碼範例。
如需詳細資訊,請參閱下列內容:

使用 UI 傳送邀請

玩家可能會想要直接傳送邀請給一或多位其他玩家。在傳送邀請之前,遊戲應確保已設定活動。這可確保殼層與您的遊戲之間的連續性,因為殼層會根據目前的活動傳送邀請。 若要使用 UI 傳送邀請,在使用 XblMultiplayerActivitySetActivityAsync 設定活動之後 (請參閱上方範例),遊戲應呼叫 XGameUiShowMultiplayerActivityGameInviteAsync API 並傳入提出要求的使用者。它會使用遊戲目前的活動,並使用其連線字串和設定邀請玩家。 如需邀請內容的相關資訊,請參閱傳送要求讓另一位玩家加入多人遊戲體驗。。 以下是使用 UI 傳送邀請的程式碼範例。
如需詳細資訊,請參閱下列內容: 返回本主題頂端。

接收邀請

若要在玩家接受邀請時收到通知,遊戲可以使用 XGameInviteRegisterForEvent 註冊邀請通知。每次接受邀請時,都會透過註冊的回呼將格式化的 URI 傳遞給遊戲。可以剖析 URI 以判斷邀請傳送者、接收者和連線字串。連線字串是遊戲特定的,並在建立多人遊戲活動時設定。對於使用多人遊戲活動服務的遊戲,URI 的完整格式如下表所示。 當不再需要邀請通知時,可以使用 XGameInviteUnregisterForEvent 取消註冊回呼。以下是註冊和處理已接受邀請的程式碼範例。
如需詳細資訊,請參閱下列內容: 返回本主題頂端。

最近的玩家

若要更新玩家的最近的玩家清單,遊戲應提交曾與目前玩家有過有意義互動之其他玩家的清單。此清單是單向的,表示每位玩家的用戶端負責更新自己的清單,玩家的清單不會影響彼此的清單。 例如,假設一群玩家一起位於賽前大廳中並被配對在一起。比賽開始時,每位玩家都會以大廳中所有其他 xuids 更新其清單。如果有新玩家加入,可以個別寫入。
您可以決定什麼構成有意義的互動。對某個遊戲而言,可能是出現在大廳中。對另一個遊戲而言,可能是某位玩家射擊另一位玩家。對第三個遊戲而言,可能只是畫面上看得到另一位玩家。
在您可能不希望玩家隊伍在比賽工作階段開始之前被看到的案例中,您可以延遲寫入玩家清單,直到您希望他們彼此可見的時間為止。若要排清用戶端的最近的玩家清單,如果您需要立即強制排清,可以呼叫 XblMultiplayerActivityFlushRecentPlayersAsync。否則,最近的玩家清單會每五秒自動排清一次。 以下是更新最近的玩家清單和排清更新的程式碼範例。

更新最近的玩家

如需詳細資訊,請參閱下列內容: 返回本主題頂端。

排清最近的玩家

如需詳細資訊,請參閱下列內容: 返回本主題頂端。
最後修改於 2026年10月8日