バージョン 1.3、2025 年 3 月 1 日
タイトルは、Xbox およびパートナー サービスの接続性に関するエラーを円滑に処理する必要があります。 タイトルは、エラーが発生した後、Xbox サービスへの要求を再試行するとき、Xbox が設定した再試行ポリシーを尊重する必要があります。 タイトルは、サービスが利用不可になった場合のユーザーへのメッセージを適切に管理する必要があります。 パートナー サービスが利用できない場合、Xbox ネットワーク の問題であるとゲームに表示することはできません。 ネットワーク サービスの速度が低下した場合や、断続的にしか利用できない場合に、タイトルのクラッシュやハングが発生しないようにする必要があります。
その他の情報
タイトルは、そのタイトル固有のネットワークの動作に対応し、Windows.Xbox.Networking ネットワーク品質 API を使用して現在のネットワーク状態を把握する必要があります。 転送するデータの量を少なくするか、適切なユーザーの役割を選択するか、またはクラウド サービスを活用して、円滑にネットワーク負荷を下げることも必要となります。
Xbox Live サービス以外の問題の処理
ユーザー体験に影響を及ぼす非一時的なタイムアウト、ネットワーク API エラー、サービス構成の損失など、パートナー サービスに関する問題が発生したタイトルは、使用できなくなった特定の機能やサービスについてユーザーに警告する必要があります。 ユーザーがトラブルシューティングを行うことができるように、タイトルは円滑に安全な状態に移行する必要があります。もしくはユーザーが手動で再試行できる状態に移行する必要があります。
わかりやすいメッセージの例を次に挙げます。
「大変申し訳ございませんが、Microsoft 以外のサービスは現在ご利用いただけません。 しばらくしてから再試行してください。 詳しい内容については、マイクロソフト以外の件に関するサポートの連絡先情報までお問い合わせください」。
Xbox Live サービスの問題の処理
Xbox サービスへの接続が失われると、一部の機能が使用できなくなる場合があります。 このような場合、タイトルは明確でわかりやすいメッセージを表示して、ユーザーに状況を説明する必要があります。
サービスが利用できない場合は、タイトルは自らの要求を再試行することを許可されますが、Xbox によって許可されたパラメーターの範囲内でのみ、その作業を実行できます。 HTTP 呼び出しの再試行と中止に関する必須のロジックや、個々のサービスに対するユーザーとのやりとりについてのガイダンスを含め、Xbox コンソール タイトルのサービスの復旧に関する詳細は、「Xbox One タイトルのサービス中断からの復帰性」を参照してください。
Xbox Live 接続の要求
Xbox コンソール向けに開発する際、大多数の機能に関してインターネット、または特に Xbox への接続が必要なタイトルでは、ブール値フラグ RequireXboxLive
をタイトルの AppX マニフェストに含めることが必要な場合があります。 これにより、Xbox が使用できないときに Xbox 本体でタイトルが開始されるのをブロックし、接続が失われた場合はタイトルは一時停止し、その後終了します。
GDK を使用したネットワークの詳細については、「ネットワーク セクション」を参照してください。
サーティフィケーション テスト ケース
074-01 Xbox サービスに対する WAN 接続の切断
テスト手順
- Xbox プロフィールにサインインします。
- 次の操作を実行しながら、WAN ネットワークを切断します。 イーサネット スイッチ/ハブを使用している場合は、アップリンク ケーブルをネットワーク デバイスから切断します。 デバイスが WiFi で接続されている場合はワイヤレス アクセス ポイントからアップリンク ケーブルを外します:
- 新しいセーブ ポイントの作成
- セーブ ポイントの読み込み
- オートセーブ ポイントに到達する
- 保存したゲームのリストを列挙
- オンライン セッションを検索して参加する
- オンライン セッションの作成を試みる
- ランキングの表示 (該当する場合)
- オフラインでプレイする
想定される結果
本体が Xbox サービスに到達できない場合、タイトルはわかりやすいエラー メッセージを表示して状況を説明します。
成功例
- タイトルでは、Xbox サービスへのネットワーク接続の切断を示すエラー メッセージが表示されます。
- Xbox サービスを必要としないローカル ゲーム モードでのプレイ中には、エラー メッセージは表示されません。
- AppX マニフェストの
RequireXboxLive
を含むタイトルでは、接続が失われた場合、一時停止した後に終了します。
失敗例
- ユーザーは、オンラインでない Xbox ゲーム セッションを完了できません。
- タイトルが応答しない状態または不安定な状態になります。
074-02 直接の切断
テスト手順
- タイトルを起動して Xbox プロフィールにサインインします。
- タイトルで次の操作の実行中に、デバイスからネットワーク ケーブルを外すか、WAP またはワイヤレス ルーターの電源を切ります:
- 新しいセーブ ポイントを作成する。
- セーブ ポイントを読み込む。
- オートセーブ ポイントに到達する。
- 保存したゲームの一覧を作成する。
- オンライン セッションを検索して参加する。
- オンライン セッションの作成を試みる。
- ランキングを表示する (該当する場合)。
- オフラインでプレイする。
想定される結果
デバイスが Xbox サービスへの接続を失った場合、タイトルはわかりやすいエラー メッセージを表示して状況を説明します。
成功例
- オンライン ゲーム モードに入っている場合に、わかりやすいメッセージが表示されます。
- オフライン ゲーム モード中にゲームプレイは中断されません。
- AppX マニフェストの
RequireXboxLive
を含むタイトルでは、接続が失われた場合、一時停止した後に終了します。
失敗例
- オフライン ゲーム モードでエラー メッセージが表示されます。
- ゲームが応答しない状態または不安定な状態になります。
- ネットワークがオフラインになった後にユーザーがオンライン メニューを表示できるか、バッファーされたメディアを表示できます。
074-03 Xbox サービスに対する接続の一時停止
環境設定:
Xbox の場合、タイトルをインストールし、xbapp list
を使用してタイトルのパッケージ フルネーム (PFN) を返します。
テスト手順
Xbox プロフィールにサインインして、タイトルを起動します。
メイン メニューまたはフロントエンド メニューで、次のいずれかを行います。
- 本体で、
xbapp suspend [PFN]
を実行してタイトルを一時停止します - PC では、ウィンドウを最小化するか、デバイスの Windows ボタンを押してタイトルを一時停止します。
- 本体で、
ゲームが完全に一時停止し、一時停止によってすべての HTTP 要求が中断されるまで、30 秒待ちます。
タイトルを再開します。
次の追加エリアがサポートされている場合は、それらのエリアで手順 2 ~ 4 を繰り返します:
- シングルプレイヤー ゲーム セッションの実行中
- オンライン マルチプレイヤー セッションの実行中
- セッション前のマルチプレイヤー ロビーにいる間
- オンライン ランキングの表示中
- ビデオまたはオーディオの再生中。
想定される結果
一時停止の後に本体が Xbox サービスに到達できない場合、タイトルは再アクティベーションを正常に実行した後、状況に適切に対処し、必要に応じてわかりやすいエラー メッセージを表示して状況を説明しなければなりません。
成功例
- Xbox オンライン マルチプレイヤー セッションの実行中に、Xbox サービスへのネットワーク接続の喪失を示すエラー メッセージが表示されます。
- Xbox サービスを必要としないローカル ゲーム モードでのプレイ中には、エラー メッセージは表示されません。
失敗例
- ユーザーは、オンラインでない Xbox ゲーム セッションを完了できません。
- ゲームが応答しない状態または不安定な状態になります。
- 再開すると、タイトルに誤解を招くまたは不正確なエラー メッセージが表示されます。
074-04 一時停止中の Xbox サービスの再接続
環境設定:
Xbox の場合、タイトルをインストールし、xbapp list
を使用してタイトルのパッケージ フルネーム (PFN) を返します。
テスト手順
- Xbox プロフィールにサインインして、本体が [Home (ホーム)] に設定されていることを確認します。
- Xbox には接続せず、ローカル ネットワーク接続を維持したままで、タイトルを起動します。
- イーサネット スイッチ/ハブを使用している場合は、ネットワーク デバイスからアップリンク ケーブルを取り外します。
- デバイスが WiFi で接続されている場合はワイヤレス アクセス ポイントからアップリンク ケーブルを外します。
- メイン メニューまたはフロントエンド メニューで、次のいずれかを行います。
- 本体で、
xbapp suspend [PFN]
を実行してタイトルを一時停止します - PC では、ウィンドウを最小化するか、デバイスの Windows ボタンを押してタイトルを一時停止します。
- 本体で、
- ゲームが完全に一時停止し、一時停止によってすべての HTTP 要求が中断されるまで、30 秒待ちます。
- アップリンク ケーブルを元通りに取り付け、本体が Xbox に再接続するまで待ちます。
- タイトルを再開します。
- 次の追加エリアがサポートされている場合は、それらのエリアで手順 2 ~ 6 を繰り返します。
- シングルプレイヤー ゲーム セッションの実行中。
- ゲームを保存する前/読み込む前の、保存/読み込みのメニュー内。
想定される結果
一時停止の後に本体が Xbox サービスに到達できない場合、タイトルは再アクティベーションを正常に実行した後、状況に適切に対処し、必要に応じてわかりやすいエラー メッセージを表示して状況を説明しなければなりません。
成功例
- ユーザーは、タイトルを再開して、中断なしにオフラインの Xbox ゲーム セッションを完了することができます。
- タイトルは安定した状態を保ち、クラッシュしません。
失敗例
- ユーザーは、オンラインでない Xbox ゲーム セッションを完了できません。
- ゲームが応答しない状態または不安定な状態になります。
- 再開すると、タイトルに誤解を招くまたは不正確なエラー メッセージが表示されます。
074-05 一定の狭い帯域幅
必要なツール:
GDK/XDK の xbstress.exe。
環境設定:
ネットワーク シミュレーションは、コマンドライン ストレス ツール xbstress.exe によって制御されます。 このツールは、ネットワーク シミュレーションを含む、さまざまな本体へのストレス誘発要因を構成します。
xbstress.exe はネットワーク処理のために Xbox デバイス上の専用ドライバーを制御し、パケットのドロップ、遅延の挿入、スループットの制限を行います。
xbstress.exe には、minimum、average、excellent の 3 つの構成済みシミュレーション プロファイルがあり、重要なネットワーク シナリオを容易にシミュレートすることができます。 最小プロフィールは、この XR に対応します。
テスト手順
- 最小プロファイルを使用して、接続の帯域幅を Xbox デバイスの最小動作要件まで制限します。
- ゲームに関連する次のオンライン操作を実行します。ただし、これらの操作に限定されません。
- すべてのメニューを操作する。
- オンライン ゲーム セッションでプレイする。
想定される結果
ユーザーのインターネット接続が 192 Kbps を下回ったときに、タイトルのクラッシュやユーザー データの消失が発生してはなりません。
成功例
- 狭い帯域幅によってオンライン プレイが影響を受ける可能性があることをわかりやすく伝えるメッセージが表示されます。
- タイトルのクラッシュやユーザー データの消失が発生しません。
失敗例
- タイトルのクラッシュまたはユーザー データの消失が発生します。
074-06 可変の狭い帯域幅
必要なツール:
GDK/XDK の xbstress.exe。
環境設定:
ネットワーク シミュレーションは、コマンドライン ストレス ツール xbstress.exe によって制御されます。 このツールは、ネットワーク シミュレーションを含む、さまざまな本体へのストレス誘発要因を構成します。
xbstress.exe はネットワーク処理のために Xbox デバイス上の専用ドライバーを制御し、パケットのドロップ、遅延の挿入、スループットの制限を行います。
xbstress.exe には、minimum、average、excellent の 3 つの構成済みシミュレーション プロファイルがあり、重要なネットワーク シナリオを容易にシミュレートすることができます。 最小プロフィールは、この XR に対応します。
テスト手順
- xbstress.exe ですべてのネットワーク制限を無効にします。
- ゲームに関連する次のオンライン操作を実行します。ただし、これらの操作に限定されません。
- すべてのメニューを操作する。
- オンライン ゲーム セッションでプレイする。
- 手順 2 の実行中、xbstress の最小プロファイルを有効にします。
想定される結果
ユーザーのインターネット接続が 192 Kbps を下回ったときに、タイトルのクラッシュやユーザー データの消失が発生してはなりません。
成功例
- 狭い帯域幅によってオンライン プレイが影響を受ける可能性があることをわかりやすく伝えるメッセージが表示されます。
- タイトルのクラッシュやユーザー データの消失が発生しません。
失敗例
- タイトルのクラッシュまたはユーザー データの消失が発生します。
074-07 動的な接続性の喪失
必要なツール:
- コンテンツ ブロック アドオンを使用した Fiddler クラシック
コンテンツ ブロック アドオンを使用してパートナー サービスをブロックするように Fiddler クラシックを構成する
- 本体で、Fiddler をセットアップして Web サービス呼び出しをデバッグする
- PC で、Fiddler をセットアップして Web サービス呼び出しをデバッグする
- Fiddler のコンテンツ ブロック アドオンをインストールする
- Fiddler で、[ContentBlock] メニューと [有効] を選択します
ヒント
ブロック リストを構成する手順:
- Fiddler を実行したら、タイトルを起動し、すべてのメニューに移動し、マルチプレイヤー セッションを完了し、すべてのゲーム モードに読み込み、タイトルのすべての領域 (以下を含むがこれに限定されない) に移動します:
- メニュー
- ランキング
- サーバー (1 つを作成する、別のユーザーのに参加します)
- フレンド リスト
- タイトル内ストア
- 期間限定イベント
これにより、通常のゲームプレイ中にタイトルがすべてのホストに確実に接続されます。
Fiddler で、Microsoft 以外のサービスであるホストを特定します:
- ホストでセッションの一覧を並べ替え、次のいずれかも含まれていないホストを見つけます:
microsoft, msft, xboxlive, xboxservices, live, PlayFabApi, msn, bing
- ホストでセッションの一覧を並べ替え、次のいずれかも含まれていないホストを見つけます:
Fiddler で、Microsoft 以外のホストをブロック リストに追加します:
- Microsoft 以外のホストを右クリックし、[このホストをブロック] を選択します
- 他のすべての Microsoft 以外のホストに対して繰り返す
同じホストを複数回ブロックする必要はありません。
ブロック リストを編集するには、[ContentBlock] メニューと [ブロックされたホストの編集...] を選択します
すべての Microsoft 以外のホストがブロック リストに追加されたので、テスト ケースの実行に進みます。
テスト手順
- Xbox プロフィールにサインインして、タイトルを起動します。
- マルチプレイヤー セッションを完了し、すべてのゲーム モードに読み込み、タイトルのすべての領域を移動します (以下を含むがこれらに限定されない):
- メニュー
- ランキング
- サーバー (1 つを作成する、別のユーザーのに参加します)
- フレンド リスト
- タイトル内ストア
- 期間限定イベント
- Xbox ネットワークの問題を示すエラー メッセージがタイトルに表示されないことを確認します。
想定される結果
タイトルは、Microsoft 以外のサービスへの切断を適切に処理します。
成功例
- パートナーがホストするサービスへの接続が失われたときに、タイトルはハングまたはクラッシュしません。
失敗例
- Microsoft のサービスに関する問題が発生したように受け取れるメッセージが表示されます。
- 説明が不十分なエラー メッセージが表示されます。
- タイトルがクラッシュするか、不安定な状態になるか、本体が再起動します。
074-08 起動前のダウンタイム
必要なツール:
- GDK/XDKの xbstress.exe
- Windows 10 の場合、Fiddler Classic
テスト手順
- Xbox 本体上では、xbstress.exe で次のコマンドを使用して、Microsoft 以外のトラフィックに対して切断状態のネットワーク チャネルを作成します:
xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]
- 次のコマンドを使用してネットワーク シミュレーションを開始します:
xbstress simulate network=channels
。 - Windows 10 でテストする場合は、Fiddler を使用してダウンタイムをエミュレートします。
- Xbox プロフィールにサインインします。
- タイトルを起動します。
- Microsoft 以外がホストするオンライン機能にアクセスします。
想定される結果
Microsoft 以外がホストするサービスに到達できないことをわかりやすく伝えるエラー メッセージが表示され、接続を再試行する機会が与えられます。
成功例
- パートナーがホストするサービスへの接続が失われたときに、タイトルはハングまたはクラッシュしません。
失敗例
- Microsoft のサービスに関する問題が発生したように受け取れるエラー メッセージが表示されます。
- 説明が不十分なエラー メッセージが表示されます。
- タイトルがクラッシュするか、不安定な状態になるか、本体が再起動します。