Skip to main content
このトピックは、Multiplayer Activity クライアント API の基本的な使用方法のクイックスタート ガイドです。このトピックでは、アクティビティの管理、招待の送信、および最近のプレイヤー リストへのプレイヤーの追加について説明します。 アクティビティ 招待 最近のプレイヤー

アクティビティ

アクティビティの設定

タイトルがマルチプレイヤー体験を開始または参加するときは常に、アクティビティを作成する必要があります。これを行うことにより、シェルは、タイトル内の他のプレイヤーと共に、プレイヤーのアクティビティを見ることができ、他のプレイヤーが進行中のゲームに参加できる可能性があります。プレイヤーがタイトルのアクティビティに参加したいときに、そのタイトルが実行されていない場合、タイトルがアクティブ化され、接続文字列が渡されます。 タイトルは、プレイヤーの参加または離脱時にアクティビティを更新する必要があります。これにより、他のプレイヤーにアクティビティのより充実した情報を提供し、アクティビティが満員かどうかを知らせることができます。 アクティビティ フィールドについては、アクティビティの内容 を参照してください。 アクティビティを設定するコード例は以下のとおりです。これは、アクティビティの作成にも既存のアクティビティの更新にも適用されます。
詳細については、以下を参照してください。 このトピックの先頭に戻る。

アクティビティの取得

タイトルは他のプレイヤーのアクティビティを知りたい場合があります。たとえば、タイトル内で、プレイヤーのフレンドとそのアクティビティを並べて表示するゲーム内 UI を提供したい場合があります。 アクティビティを取得するコード例は以下のとおりです。
詳細については、以下を参照してください。 このトピックの先頭に戻る。

アクティビティの削除

プレイヤーがマルチプレイヤー アクティビティを終了または離脱したとき、タイトルは以下のコードを使用してアクティビティを削除する必要があります。
詳細については、以下を参照してください。 このトピックの先頭に戻る。

招待

UI なしで招待を送信する

プレイヤーは、1 人以上の他のプレイヤーに直接招待を送信したい場合があります。招待を送信する前に、タイトルはアクティビティが設定されていることを確認する必要があります。これにより、シェルは現在のアクティビティに基づいて招待を送信するため、シェルとタイトルの間に一貫性が保たれます。 UI なしで招待を送信するには、XblMultiplayerActivitySetActivityAsync (前述の例を参照) を使用してアクティビティを設定した後、タイトルは招待するプレイヤーの配列と現在のアクティビティで使用されているのと同じ接続文字列を渡して、XblMultiplayerActivitySendInvitesAsync API を呼び出す必要があります。 招待の内容については、他のプレイヤーをマルチプレイヤー体験に招待する要求を送信する を参照してください。 UI なしで招待を送信するコード例は以下のとおりです。
詳細については、以下を参照してください。

UI を使用して招待を送信する

プレイヤーは、1 人以上の他のプレイヤーに直接招待を送信したい場合があります。招待を送信する前に、タイトルはアクティビティが設定されていることを確認する必要があります。これにより、シェルは現在のアクティビティに基づいて招待を送信するため、シェルとタイトルの間に一貫性が保たれます。 UI を使用して招待を送信するには、XblMultiplayerActivitySetActivityAsync (前述の例を参照) を使用してアクティビティを設定した後、タイトルは要求元ユーザーを渡して XGameUiShowMultiplayerActivityGameInviteAsync API を呼び出す必要があります。この API は、タイトルの現在のアクティビティを使用し、その接続文字列と設定を使用してプレイヤーを招待します。 招待の内容については、他のプレイヤーをマルチプレイヤー体験に招待する要求を送信する を参照してください。 UI を使用して招待を送信するコード例は以下のとおりです。
詳細については、以下を参照してください。 このトピックの先頭に戻る。

招待の受信

プレイヤーが招待を受け入れたときに通知を受け取るには、タイトルは XGameInviteRegisterForEvent を使用して招待通知に登録できます。招待が受け入れられるたびに、書式設定された URI が登録済みコールバックを通じてタイトルに渡されます。URI を解析することで、招待の送信者、受信者、および接続文字列を特定できます。接続文字列はタイトル固有であり、マルチプレイヤー アクティビティの作成時に設定されます。Multiplayer Activity サービスを使用しているタイトルの URI の完全な形式は、以下の表に示されています。 招待通知が不要になったら、XGameInviteUnregisterForEvent を使用してコールバックの登録を解除できます。受け入れられた招待の登録および処理のコード例は以下のとおりです。
詳細については、以下を参照してください。 このトピックの先頭に戻る。

最近のプレイヤー

プレイヤーの最近のプレイヤー リストを更新するには、タイトルは、現在のプレイヤーと意味のあるやり取りをした他のプレイヤーのリストを送信する必要があります。リストは単方向であり、各プレイヤーのクライアントが自分自身のリストの更新に責任を持ちます。プレイヤーのリストは互いのリストに影響を与えません。 たとえば、プレイヤーのグループがプレゲーム ロビーで一緒におり、マッチングされたとします。マッチが開始されると、各プレイヤーはロビー内の他のすべての xuids で自分のリストを更新します。新しいプレイヤーが参加した場合、そのプレイヤーは個別に書き込むことができます。
何をもって意味のあるやり取りと定義するかは、あなたが決定できます。あるタイトルでは、ロビーに存在していることかもしれません。別のタイトルでは、プレイヤーが別のプレイヤーを撃つことかもしれません。3 番目のタイトルでは、他のプレイヤーが単に画面上に表示されているだけのことかもしれません。
プレイヤーのチームがマッチ セッションが開始するまで見えないようにしたいシナリオでは、プレイヤーのリストの書き込みを、それらのプレイヤーを互いに見えるようにしたい時点まで遅らせることができます。クライアント側の最近のプレイヤー リストをフラッシュするには、即座に強制的にフラッシュする必要がある場合、XblMultiplayerActivityFlushRecentPlayersAsync を呼び出すことができます。そうでない場合、最近のプレイヤー リストは 5 秒ごとに自動的にフラッシュされます。 最近のプレイヤー リストの更新および更新のフラッシュのコード例は以下のとおりです。

最近のプレイヤーの更新

詳細については、以下を参照してください。 このトピックの先頭に戻る。

最近のプレイヤーのフラッシュ

詳細については、以下を参照してください。 このトピックの先頭に戻る。
最終更新日 2026年8月25日