Skip to main content
このトピックでは、Multiplayer Manager を使用してプロトコル アクティベーションを処理する方法について説明します。 アクティベーションとは、別のアクションに応答してシステムが自動的にゲームを起動することです。これは通常、プレイヤーが他のプレイヤーからのゲーム招待を承諾したときに行われます。 タイトルは、以下の方法でプロトコル アクティベーションを行うことができます。
  • ユーザーがゲーム招待を承諾する
  • ユーザーがプレイヤーのゲーマー カードから「ゲームに参加」を選択する
このシナリオでは、タイトルが起動され、プレイヤーがロビーに参加し、ゲームが進行中 (存在する場合) の場合に、プロトコル アクティベーションを処理する方法について説明します。 プロトコル アクティベーション プロセスのフローチャートについては、プロトコル アクティベーションの処理 (フローチャート) を参照してください。 プレイヤーがゲーム招待を承諾したり、プレイヤーのゲーマー カードを通じてフレンドのゲームに参加したりすると、プロトコル アクティベーションを使用してデバイス上でゲームが起動されます。 ゲームの開始後、XGameActivationRegisterForEvent を使用して招待ハンドルを取得します。招待ハンドルを使用して、XblMultiplayerManagerJoinLobby を呼び出します。 招待されたユーザーが XblMultiplayerManagerLobbySessionAddLocalUser を介して追加されていない場合、XblMultiplayerManagerJoinLobby は失敗し、JoinLobbyCompleted イベントで XblMultiplayerEventArgsXuid を呼び出すことにより、招待が送信された対象の xuid を提供します。 ロビーに参加した後、ローカル メンバーの接続アドレスとメンバーのカスタム プロパティを設定することをお勧めします。 また、ホストが存在しない場合は、XblMultiplayerManagerLobbySessionSetSynchronizedHost を介してホストを設定することもできます。 最後に、既にゲームが進行中で、招待されたユーザーのためのスペースがある場合、Multiplayer Manager はユーザーをゲーム セッションに自動参加させます。 タイトルは JoinGameCompleted イベントを通じて通知され、適切なエラー コードとメッセージが提供されます。

フラット C API

詳細については、XblMultiplayerManagerLobbySessionSetLocalMemberConnectionAddress を参照してください。 Multiplayer Manager は以下の機能を実行します。
  • Real-Time Activity およびマルチプレイヤー サブスクリプションの登録。
  • ロビー セッションへの参加。
  • 既存のロビー状態のクリーンアップ。
  • すべてのローカル プレイヤーをアクティブとして参加させる。
  • セキュア デバイス アドレス (SDA) のアップロード。
  • メンバー プロパティの設定。
  • セッション変更イベントの登録。
  • ロビー セッションをアクティブなセッションとして設定する。
  • ゲーム セッションへの参加 (存在する場合)。
  • 転送ハンドルの使用。
最終更新日 2026年8月25日