XR-074: Xbox およびパートナー サービスの接続の喪失 *
バージョン 1.2、2024 年 4 月 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 プロフィールにサインインして、タイトルを起動します。
- メイン メニューまたはフロントエンド メニューで、次のいずれかを行います。
- Xbox でテストする場合は、
xbapp suspend [PFN]
を実行してタイトルを一時停止します。- PC 上の Windows 10 でテストする場合は、ウィンドウを最小化してタイトルを一時停止します。
- Windows 10 Mobile でテストする場合は、デバイス上の Windows ボタンを押してタイトルを一時停止します。
- ゲームが完全に一時停止し、一時停止によってすべての HTTP 要求が中断されるまで、30 秒待ちます。
- タイトルを再開します。
- 次の追加エリアがサポートされている場合は、それらのエリアで手順 [2] から [4] を繰り返します。
- シングルプレイヤー ゲーム セッションの実行中。
- オンライン マルチプレイヤー セッションの実行中。
- セッション前のマルチプレイヤー ロビーにいる間。
- オンライン ランキングの表示中。
- ビデオまたはオーディオの再生中。
想定される結果
一時停止の後に本体が Xbox サービスに到達できない場合、タイトルは再アクティベーションを正常に実行した後、状況に適切に対処し、必要に応じてわかりやすいエラー メッセージを表示して状況を説明しなければなりません。成功例
- Xbox オンライン マルチプレイヤー セッションの実行中に、Xbox サービスへのネットワーク接続の喪失を示すエラー メッセージが表示されます。
- Xbox サービスを必要としないローカル ゲーム モードでのプレイ中には、エラー メッセージは表示されません。
失敗例
- ユーザーは、オンラインでない Xbox ゲーム セッションを完了できません。
- ゲームが応答しない状態または不安定な状態になります。
- 再開すると、タイトルに誤解を招くまたは不正確なエラー メッセージが表示されます。
074-04 一時停止中の Xbox サービスの再接続
環境設定: Xbox の場合、タイトルをインストールし、「xbapp list」を使用してタイトルのパッケージ フルネーム (PFN) を返します。
テスト手順
- Xbox プロフィールにサインインして、本体が [Home (ホーム)] に設定されていることを確認します。
- Xbox に接続せず、ローカル ネットワーク接続を保持して (イーサネット スイッチ/ハブを使用する場合は、アップリンク ケーブルをネットワーク デバイスから切断します。デバイスが Wifi 経由で接続されている場合は、ワイヤレス アクセス ポイントからアップリンク ケーブルを切断します。) タイトルを起動します。
- メイン メニューまたはフロントエンド メニューで、次のいずれかを行います。
- Xbox でテストする場合は、
xbapp suspend [PFN]
を実行してタイトルを一時停止します。- PC 上の Windows 10 でテストする場合は、ウィンドウを最小化してタイトルを一時停止します。
- Windows 10 Mobile でテストする場合は、デバイス上の 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 には最小プロファイルを使用します。
テスト手順
- XBStress の最小プロファイルを使用して、接続の帯域幅を Xbox One の最小動作要件まで制限します。
- ゲームに関連する次のオンライン操作を実行します。ただし、これらの操作に限定されません。
- すべてのメニューを操作する。
- オンライン ゲーム セッションでプレイする。
想定される結果
ユーザーのインターネット接続が 192 Kbps を下回ったときに、タイトルのクラッシュやユーザー データの消失が発生してはなりません。成功例
- 狭い帯域幅によってオンライン プレイが影響を受ける可能性があることをわかりやすく伝えるメッセージが表示されます。
- タイトルのクラッシュやユーザー データの消失が発生しません。
失敗例
- タイトルのクラッシュまたはユーザー データの消失が発生します。
074-06 可変の狭い帯域幅
必要なツール: GDK/XDK の xbstress.exe。
環境設定: ネットワーク シミュレーションは、コマンドライン ストレス ツール xbstress.exe によって制御されます。 このツールは、ネットワーク シミュレーションを含む、さまざまな本体へのストレス誘発要因を構成します。 xbstress.exe はネットワーク処理のために Xbox デバイス上の専用ドライバーを制御し、パケットのドロップ、遅延の挿入、スループットの制限を行います。 xbstress.exe には、minimum、average、excellent の 3 つの構成済みシミュレーション プロファイルがあり、重要なネットワーク シナリオを容易にシミュレートすることができます。 この XR には最小プロファイルを使用します。
テスト手順
- xbstress ですべてのネットワーク制限を無効にします。
- ゲームに関連する次のオンライン操作を実行します。ただし、これらの操作に限定されません。
- すべてのメニューを操作する。
- オンライン ゲーム セッションでプレイする。
- 手順 [2] の実行中、xbstress の最小プロファイルを有効にします。
想定される結果
ユーザーのインターネット接続が 192 Kbps を下回ったときに、タイトルのクラッシュやユーザー データの消失が発生してはなりません。成功例
- 狭い帯域幅によってオンライン プレイが影響を受ける可能性があることをわかりやすく伝えるメッセージが表示されます。
- タイトルのクラッシュやユーザー データの消失が発生しません。
失敗例
- タイトルのクラッシュまたはユーザー データの消失が発生します。
074-07 動的な接続性の喪失
必要なツール:
- GDK/XDKの xbstress.exe
- Windows 10 の場合、Fiddler Classic
環境設定:
Xbox デバイスの場合、ネットワーク シミュレーションは、コマンドライン ストレス ツール xbstress.exe によって制御されます。 xbstress.exe では、ドメイン名および IP のリストをブロックできます。このテストは、Microsoft 以外のトラフィックをブロックするために用意されたアドレスのリストを使用して行われます。テスト手順
- Xbox プロフィールにサインインします。
- タイトルを起動します。
- Microsoft 以外がホストするオンライン機能にアクセスします。
- Xbox デバイスでテストする場合は、xbstress で次のコマンドを使用して、Microsoft 以外のトラフィックに対して切断状態のネットワーク チャネルを作成します。
xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]
- 次のコマンドを使用してネットワーク シミュレーションを開始します:
xbstress simulate network=channels
。- Windows 10 でテストする場合は、Fiddler を使用してダウンタイムをエミュレートします。
想定される結果
タイトルは、Microsoft 以外のサービスへの接続の喪失に円滑に対処します。成功例
- パートナーがホストするサービスへの接続が失われたときに、タイトルはハングまたはクラッシュしません。
失敗例
- Microsoft のサービスに関する問題が発生したように受け取れるエラー メッセージが表示されます。
- 説明が不十分なエラー メッセージが表示されます。
- タイトルがクラッシュするか、不安定な状態になるか、本体が再起動します。
074-08 起動前のダウンタイム
必要なツール:
- GDK/XDKの xbstress.exe
- Windows 10 の場合、Fiddler Classic
環境設定:
Xbox One の場合、ネットワーク シミュレーションは、コマンドライン ストレス ツール xbstress.exe によって制御されます。 xbstress.exe では、ドメイン名および IP のリストをブロックできます。このテストは、Microsoft 以外のトラフィックをブロックするために用意されたアドレスのリストを使用して行われます。テスト手順
- Xbox デバイスでテストする場合は、xbstress で次のコマンドを使用して、Microsoft 以外のトラフィックに対して切断状態のネットワーク チャネルを作成します。
xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]
- 次のコマンドを使用してネットワーク シミュレーションを開始します:
xbstress simulate network=channels
。- Windows 10 でテストする場合は、Fiddler を使用してダウンタイムをエミュレートします。
- Xbox プロフィールにサインインします。
- タイトルを起動します。
- Microsoft 以外がホストするオンライン機能にアクセスします。
想定される結果
Microsoft 以外がホストするサービスに到達できないことをわかりやすく伝えるエラー メッセージが表示され、接続を再試行する機会が与えられます。成功例
- パートナーがホストするサービスへの接続が失われたときに、タイトルはハングまたはクラッシュしません。
失敗例
- Microsoft のサービスに関する問題が発生したように受け取れるエラー メッセージが表示されます。
- 説明が不十分なエラー メッセージが表示されます。
- タイトルがクラッシュするか、不安定な状態になるか、本体が再起動します。