- このページでは、XBOX 認定でテストされる XBOX コンソール ゲームの XR を定義します。XBOX 認定でテストされないものを含むすべての XR の一覧については、XBOX 要件を参照してください。
- このリリースでの変更点の概要については、このページの下部にあるこのリリースでの変更点を参照してください。
- XR とテスト ケースの過去の変更ログを確認するには、XBOX 要件とテスト ケースの変更履歴を参照してください。
- コンソールでの不合格が多いテスト ケース上位 10 件を確認してください。
[!Important] 認定チームは、すべての最終申請について、CERT サンドボックス内のリテール ハードウェアでテストを実施します。コンソールのテスト ケースではリテール版 XBOX コンソールを、デバイス固有のテスト ケースでは同等のリテール ハードウェア (リテール版 PC やハンドヘルド デバイスなど) を使用します。以前は、一部のテスト ケースが XBOX 開発キット上で実行される GDK コマンドに依存していました。これらのケースは、リテール ハードウェアで利用可能な手順のみを使用するように改訂されました。任意申請は、引き続き CERT.DEBUG サンドボックス内の開発キットでテストされます。
suspend、スリープ、休止状態のテスト
多くのテスト ケースでは、タイトルが低電力状態または suspend 状態から再開した_後_のタイトルの動作を検証します。これらの状態遷移は通常のプレイ中に発生する可能性があるため、タイトルは進行状況、報酬、実績を保持し、再起動、クラッシュ、ハング、または進行状況の損失なしに再開する必要があります。このセクションでは、各デバイスでタイトルをこれらの状態にする方法について説明します。タイトルを suspend、スリープ、または休止状態にするテスト ケースでは、使用すべき方法と、テスト対象のデバイスに適用される方法が示されます。 XBOX コンソール ゲーム ライフ サイクルを構成する概念とイベントの詳細については、XBOX ゲーム ライフ サイクルを参照してください。ゲームにゲームの状態と状態変更イベントを実装する方法が示されています。 XBOX コンソールでは、次の条件下でゲームが suspend されます。- 電源モードがインスタント オンに設定された状態でコンソールの電源をオフにして、コンソールがコネクト スタンバイに入ったとき。
- ゲームがフォーカスを失った状態が 10 分間続いたとき。たとえば、設定などのアプリケーションを起動し、10 分間フォーカスを保持した場合です。
基本要件
このカテゴリの要件は、コーディングの標準、タイトルの動作、およびゲームの申請に関する一般的なルールに適用されます。XR-001: タイトルの安定性 *
タイトルは、タイトルの安定性に関する Microsoft Store ポリシーに準拠する必要があります。この要件には次のポリシーが適用されます。 10.4.2製品は速やかに起動し、実行を続け、ユーザー入力に対する応答性を維持する必要があります。製品は正常にシャットダウンし、予期せず終了してはなりません。製品は、マネージドまたはネイティブのシステム API によって発生した例外を処理し、例外が処理された後もユーザー入力に対する応答性を維持する必要があります。
001-01 タイトルの安定性
テスト手順- XBOX プロファイルにサインインします。
- ゲームを起動します。
- 次を含む (ただしこれらに限定されない) ゲームのすべての領域を操作します。
- ゲームプレイ
- メニューと機能
- ダウンロード コンテンツ (DLC)
- 以前のセーブ データがない新しい XBOX プロファイルを使用し、XBOX サービスから切断された状態で手順 1 ~ 3 を繰り返します。
ゲームの不安定性とは、ユーザー入力が認識されない状態、またはユーザーへの通知なしにソフトウェアのクラッシュによってユーザーが進行を妨げられる状態を指します。 合格例
- ゲームが安定している。
- ゲームが意図しないユーザー データの損失を引き起こさない。
- ゲームがクラッシュする、応答しなくなる、またはコンソールの再起動を引き起こす。
- ゲームがユーザー データの損失を引き起こす。
- 操作できない一時停止または静止画面が 20 秒を超えて表示される。
- 進行状況が示されないまま 2 分を超えるロード画面がゲームに含まれている。
- 進行状況インジケーター付きで 3 分を超えるロード画面がゲームに含まれている。
001-02 suspend、スリープ、休止状態後のタイトルの安定性
このテストでは、XBOX コンソールでは suspend から、PC およびハンドヘルド デバイスではスリープまたは休止状態から再開したときのタイトルの安定性を検証します。コンソールでゲームを suspend する方法、および PC またはハンドヘルド デバイスをスリープ状態や休止状態にする方法については、suspend、スリープ、休止状態のテストを参照してください。このテスト ケースでは、手順 3 で、テスト対象のデバイスで利用可能なすべての方法を検証してください。 テスト手順- プロファイルにサインインし、ゲームを起動します。XBOX コンソールでは、コンソールの電源モードをインスタント オンに設定します。
- ゲームプレイに進みます。
- メニューやすべてのゲーム モードを含む、ゲーム全体のさまざまな時点で次を行います。
- XBOX コンソールでは、ゲームを suspend します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態にしてから休止状態にします。
- デバイスの電源を再度オンにした状態でゲームを再開し、ユーザーが最後のゲームプレイの場所から続行できることを確認します。
- 次のセーブ ポイントまで進み、ゲームをセーブして、メイン メニューに戻ります。
- 手順 5 で作成したセーブをもう一度読み込み、すべての進行状況が残っていることを確認します。
- ゲーム全体で手順 3 ~ 6 を繰り返します。
ゲームが再開すると、次のようになります。
- ゲームがクラッシュ、ハング、または意図しないゲームの進行状況の損失を引き起こさない。
- ゲームが完全に再起動したり、ユーザーにゲームの再起動を要求したりしない。
- ゲームが XBOX およびパートナー サービスへのオンライン接続を再確立する。
- ゲームがクラッシュ、ハング、または意図しないゲームの進行状況の損失を引き起こさない。
- ゲームが完全に再起動したり、ユーザーにゲームの再起動を要求したりしない。
- すべてのメニューとゲーム モードにアクセスでき、ユーザーが最後のゲームプレイの場所から続行できる。
- 最後のゲームプレイの場所から再開するかどうかをユーザーに確認するメッセージが表示される。
- ゲームが前のメニューまたは最初の操作可能な状態に戻る。
- オンライン サービスへの接続を必要とするオンライン ゲームプレイ中に、コンソールで suspend した後、または PC やハンドヘルド デバイスをスリープ状態や休止状態にした後に、ゲームが再開してユーザーを前のメニューまたは最初の操作可能な状態に戻す。
- ゲームが XBOX およびパートナー サービスへのオンライン接続を再確立する。
- 接続ストレージの非同期化が原因で、ゲームがシステムによって終了される。
- ゲームがクラッシュ、ハング、または再起動する。
- suspend、スリープ、または休止状態への移行の失敗によってゲームが終了する、または再開後にゲームが予期せず終了する。
- ユーザーが最後のセーブの場所を読み込めない。
- ゲームが XBOX およびパートナー サービスへのオンライン接続を再確立しない、またはユーザーがパートナーがホストするサービスへの接続を再確立できない。
XR-003: 申請時のタイトルの品質 *
XBOX ゲームは、XBOX の品質基準を満たし、完全に機能し、テスト可能である必要があります。機能的に完全でテスト可能であること
タイトルは、認定に申請する時点で完全に機能し、テスト可能である必要があります。これには、すべてのクライアント コード、申請アーティファクト、およびダウンロード コンテンツが含まれます。タイトルは、最新バージョンの申請検証ツールを使用して、エラーなしで問題なくパッケージ化されている必要があります。申請検証ツールのログを申請に含める必要があります。XBOX の品質基準
XBOX ゲームは、プレイヤーの期待に応えるために、すべてのゲーム モードとシナリオで正しく機能する必要があります。タイトルの完全性
タイトルには、クラッシュ、フリーズ、プレイ不能なフレーム レート、進行を大きく妨げるバグ、グラフィックの破損などの重大な問題があってはなりません。ゲームの設定、オプション、およびコントロールは正しく適用され、必要に応じて既定の設定が尊重される必要があります。ナビゲーションとコンテンツの利用はスムーズであるべきで、行き止まりやアクセスできないメニューがあってはなりません。マルチプレイヤー機能は、プレイヤーの数にかかわらず、安定して機能する必要があります。セーブ ゲームの互換性
ゲームのセーブとプレイヤーの進行状況は、コンテンツの更新後も引き続き機能する必要があります。さらに、更新されたセーブをベースのディスク バージョンで読み込んだときに、永続的なデータ損失が発生してはなりません。詳細情報
不正確または不完全な申請は、認定で却下されます。認定に申請する前に、必ず Partner Center での XBOX 認定への申請のドキュメントを確認してください。認定への申請に関する質問については、Microsoft の担当者にお問い合わせください。申請検証ツール
申請検証ツールは、開発者が使用するスタンドアロン ツールではありません。代わりに、makepkg pack コマンドが使用されるたびに自動的に呼び出され、アプリをチェックします。構文とコマンド ラインの使用方法の詳細については、makepkg のリファレンス ページを参照してください。 申請検証ツールが特定する問題の種類は、申請から認定、そして市場投入までの過程を円滑にするという目標に向けて、時間とともに増加し、進化します。申請検証ツールが検出する問題の最新の一覧については、申請検証ツールの品質チェックを参照してください。パートナーがホストするサービス
ゲームの実行に必要なパートナー サービスは、認定に申請する時点で機能し、適切に構成されている必要があります。これらのサービスは、タイトルのテストをスケジュールする前に検証され、認定期間中は機能し続ける必要があります。実装のガイダンスとベスト プラクティス
オプションと設定
オプション、コントロール、言語などのゲーム設定は、ゲーム内で更新したとき、およびタイトルを終了して再度起動した後に、正しく適用されます。必要に応じて既定の設定が尊重されます。ナビゲーション
すべてのナビゲーション コマンドが期待どおりに機能する必要があります。コンソールでは、コントローラーでゲーム全体を操作できる必要があります。コンテンツに行き止まりがなく、すべてのゲーム メニューを操作でき、すべてのコンテンツを利用できます。ローカライズのサポート
タイトルがサポートする必要があるローカライズの量に関する要件はありません。ローカライズされたテキストがサポートされている領域では、ディスプレイの設定にかかわらず、テキストが判読可能である必要があります。ランキング
タイトルでは、ユーザーが利用可能なすべてのランキングに統計を投稿し、提供されているフィルターを使用してそれらのランキングを並べ替えられるようにする必要があります。コンソールでのヘッドセットの状態の変化
コンソールでは、ヘッドセットを接続、取り外し、再接続したときに、オーディオが引き続き聞こえる必要があります。XBOX One Software Development Kit と Microsoft Game Development Kit のオーディオ API の比較を参照してください。次の表は、コンソールまたは PC のタイトルにどの XR-003 テスト ケースが適用されるかを示しています。
003-02 タイトルの完全性
構成- コンソールのセットアップについては、このページの下部にあるコンソール テスト ベンチ ガイドを参照してください。
- PC のセットアップについては、このページの下部にある PC テスト ベンチ ガイドを参照してください。
- XBOX プロファイルにサインインし、タイトルを起動します。
-
すべてのメニューとサブメニューを操作し、すべての機能を確認して、すべてのゲーム モードを完了します。
- サポートされているすべての言語で、追加機能を含め、すべてのメニュー UI、追加コンテンツ、シングル プレイヤーおよびマルチプレイヤーのゲーム モードを操作して完了します。
- 該当する場合は、オフライン、オンライン、および画面分割をテストします。
- 最大プレイヤー数でマルチプレイヤー ゲーム モードをテストします。
- サポートされているすべてのランキングに統計を投稿します。
すべてのタイトルは、信頼性が高く、公平で、一貫性があり、完全な XBOX エンターテインメント エクスペリエンスをユーザーに提供する必要があります。 合格例
- すべてのゲーム モードでタイトルを完了できる。
- ゲームプレイ中に設定したオプションが、タイトルを終了して再起動した後も保存されている。
- タイトルのすべての領域を期待どおりに操作できる。
- ローカライズされたテキストが、サポートされているすべての領域で正しく表示される。
- ユーザーが期待どおりにランキングに投稿できる。
- レベルの最後でタイトルがクラッシュする、またはゲームのいずれかの領域でユーザーの進行が妨げられる。
- タイトルの一部の領域を期待どおりに操作できない。
- ユーザーが一時停止メニューでカメラの水平または垂直操作を反転させても、ゲーム内でカメラ操作が変わらない。
- ユーザーが期待どおりにランキングに投稿できない。
- ユーザーが別のモードを既に完了している場合に、特定のゲーム モードを完了できない。
- ゲームプレイ中に設定したオプションが、タイトルを終了して再起動した後に既定値にリセットされる。
- フレーム レートの問題によりタイトルがプレイ不能である。
003-16 セーブ ゲームの互換性
テスト手順- XBOX プロファイルにサインインし、XBOX に接続せずにゲームを起動します。
- ゲームをプレイし、進行状況と設定をセーブします。
- ゲームを再起動し、手順 2 でセーブした進行状況を読み込んで再開できることを確認します。
- XBOX に接続し、ベース タイトルのコンテンツ更新をインストールします。
- 更新後も、セーブした進行状況を読み込んで続行できることを確認します。
- タイトルを再起動し、新しいゲームを開始して、もう一度進行状況をセーブします。
- ゲームを終了してアンインストールします。
- XBOX ネットワークに接続せずに、ベース ゲームを再インストールして起動します。
- 次のいずれかが発生することを確認します。
- セーブした進行状況を読み込んで続行できる
- セーブを使用するにはコンテンツ更新のインストールが必要であることを示すメッセージがゲームに表示される
- 手順 6 で作成したセーブがゲームに表示されない
- タイトルを再起動し、コンテンツ更新をインストールします。
- 更新後も、セーブした進行状況を読み込んで続行できることを確認します。
コンテンツ更新が適用されたバージョンのゲームは、コンテンツ更新が適用されていないバージョンのゲームを使用して作成されたセーブを正常に読み込める必要があります。 合格例
- コンテンツ更新が適用されたバージョンのタイトルで、すべてのセーブを正常に読み込める。
- 更新されたセーブを読み込むためにベース バージョンを起動したときに、不足しているコンテンツがユーザーに通知され、セーブ ファイルを読み込めなかった理由が示される、またはコンテンツ更新が適用されたバージョンで作成したセーブがベース バージョンに表示されない。
- コンテンツ更新が適用されたバージョンのゲームで、以前のバージョンのタイトルで作成したゲームのセーブを読み込めない。
- コンテンツ更新が適用されたバージョンのゲームで作成したセーブを読み込むときに、ベース バージョンのゲームがクラッシュする。
003-17 ヘッドセットの状態の変化
テスト手順- ヘッドホンをコントローラーに接続するか、ゲーム デバイスにワイヤレスで接続します。
- タイトルを起動し、ゲームプレイに進みます。
- テレビとヘッドホンからオーディオが聞こえることを確認します。
- ヘッドホンを取り外し、少し時間が経つとオーディオが戻ることを確認します。
- ヘッドホンを再度接続し、テレビとヘッドホンからオーディオが聞こえることを確認します。
- タイトル全体で手順 4 ~ 5 を繰り返します。
問題なくオーディオが聞こえ続ける。 合格例
- ヘッドセットを取り外すたびに、問題なくオーディオが戻る。
- ヘッドセットを接続したときに、問題なくオーディオが戻る。
- ヘッドセットの状態が変化した後、オーディオが聞こえなくなる。
- ヘッドセットの状態が変化した後、オーディオがひずむ、または破損する。
003-18 suspend、スリープ、休止状態後のヘッドセットの状態の変化
XBOX コンソールでゲームを suspend する方法、および PC またはハンドヘルド デバイスをスリープ状態や休止状態にする方法については、suspend、スリープ、休止状態のテストを参照してください。 このテスト ケースでは、手順 6 で、テスト対象のデバイスで利用可能なすべての suspend、スリープ、休止状態の方法を検証してください。 テスト手順- プロファイルにサインインします。XBOX コンソールでは、コンソールの電源モードをインスタント オンに設定します。
- XBOX コンソールでは、XBOX のオーディオ設定で、ヘッドセットの形式として Windows Sonic for Headphones を有効にします。
- ヘッドホンを接続します。XBOX コンソールでは、コントローラーに接続するか、コンソールにワイヤレスで接続します。PC およびハンドヘルド デバイスでは、USB、3.5 mm、または Bluetooth で接続します。
- ゲームを起動し、ゲームプレイに進みます。
- テレビとヘッドホンからオーディオが聞こえることを確認します。
- ゲーム全体のさまざまな時点で次を行います。
- XBOX コンソールでは、ゲームを suspend します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態にしてから休止状態にします。
- ゲームを再開し、テレビからオーディオが聞こえることを確認します。
- ヘッドホンを再度接続し、テレビとヘッドホンからオーディオが聞こえることを確認します。
- ゲーム全体で手順 6 ~ 8 を繰り返します。
問題なくオーディオが聞こえ続ける。 合格例
- ヘッドセットを取り外すたびに、問題なくオーディオが戻る。
- ヘッドセットを接続したときに、問題なくオーディオが戻る。
- ヘッドセットの状態が変化した後、オーディオが聞こえなくなる。
- ヘッドセットの状態が変化した後、オーディオがひずむ、または破損する。
003-20 ストリーミング インストールの初回プレイ マーカー
初回プレイ マーカーを含むタイトルは、初回プレイ マーカーから起動したときにゲームプレイ エクスペリエンスを提供する必要があります。 GDK を使用したストリーミング インストールまたはインテリジェント デリバリーの詳細については、ストリーミング インストールとインテリジェント デリバリーの概要を参照してください。 テスト手順- XBOX プロファイルにサインインします。
- タイトルをインストールし、初回プレイ マーカーのインストールが完了した後に起動します。
- 完全なインストールが完了する前に、タイトルのすべての領域に入ることを試みます。
初回プレイ マーカーのインストールで、ゲームプレイ エクスペリエンス (チュートリアル、最初のレベルのプレイ、1 つのゲーム モードでの簡単なマルチプレイヤー マッチなど) が提供される必要があります。 合格例
- 初回プレイ マーカーから起動したときに、タイトルがゲームプレイ エクスペリエンス (チュートリアル、最初のレベルのプレイ、1 つのゲーム モードでの簡単なマルチプレイヤー マッチなど) を提供する。
- 初回プレイ マーカーのインストール後に、タイトルがゲームプレイ エクスペリエンスを提供しない。不合格となるエクスペリエンスには次のものがあります。
- 進行状況バーを表示するだけ
- ビデオや一連の画像を再生する
- メイン メニューへのアクセスのみを提供する
- その他の操作できないエクスペリエンス
XR-130: XBOX Series X|S 世代 *
あるコンソール世代を対象とするすべてのゲーム タイトルは、その世代のデバイス ファミリ全体をサポートする必要があります。 コンソール世代全体で一貫性を維持するために、ゲームは次のことを行う必要があります。- セーブしたゲームが、世代内のコンソールの種類をまたいで動作することを保証する。
- オンライン プレイヤーが、世代内のコンソールの種類に基づいて分断されないことを保証する。
- 世代内のコンソールの種類をまたいで、同一のゲーム モードが提供されることを保証する。
130-02 セーブ ゲームのローミング
必要なツール- XBOX Series S 1 台
- XBOX Series X 1 台
- デバイス A で XBOX プロファイルにサインインし、タイトルを起動します。
- ゲームプレイを開始し、進行状況をセーブします (可能な場合は、設定構成を変更または追加して設定のセーブを作成します)。
- タイトルを終了します。
- 同じ世代の別のデバイスで、手順 1 で使用したものと同じプロファイルでサインインします。
- 手順 1 と同じタイトルを起動し、セーブしたすべてのゲームと、設定ファイルや構成ファイルにアクセスして正しく読み込めること、またそれらが同じ世代の特定のデバイスに依存していないことを確認します。
- 同じ世代のデバイス全体で、上記のすべての手順を繰り返します。
セーブ ゲームは、同じ世代内のすべてのコンソールの種類で完全に動作する必要があります。 合格例
- XBOX Series S で作成したゲームのセーブが XBOX Series X で動作し、その逆も同様に、XBOX Series デバイス ファミリ全体で動作する。
- ある世代内で作成したゲームのセーブが、その世代のすべてのデバイスの種類で完全に読み込まれない。
130-03 オンラインの分断
必要なツール- XBOX Series S 1 台
- XBOX Series X 1 台
- XBOX プロファイルにサインインし、同じ世代のすべてのデバイスの種類でタイトルを起動します。
- すべてのデバイスが参加する XBOX ネットワークのマルチプレイヤー ゲーム セッションを完了します。
- タイトルでサポートされているすべての XBOX ネットワーク マルチプレイヤー モードで手順 2 を繰り返します。
XBOX ネットワーク プレイヤーは、同じ世代のどのコンソールの種類を使用しているかにかかわらず、他の XBOX ネットワーク プレイヤーに参加できる必要があります。 合格例
- 同じ世代のすべてのコンソールが、マルチプレイヤー ゲームプレイで互いに対戦できる。
- 同じ世代内で、XBOX ネットワーク プレイヤーがコンソールの種類に基づいて分断される。
130-04 主要なゲーム モード
必要なツール- XBOX Series S 1 台
- XBOX Series X 1 台
- XBOX プロファイルにサインインし、タイトルを起動します。
- すべての主要なゲーム モードを見つけてアクセスします。
- 同じ世代のデバイス全体で上記のすべての手順を繰り返し、すべてのゲーム モードが各デバイスで同一であることを確認します。
同じ世代のデバイス全体で、同一のゲーム モードが提供される必要があります。 合格例
- 同じ世代のすべてのコンソールが、同一のゲーム モードのセットを提供する。
- 同じ世代の 1 台以上のコンソールが、同世代内のコンソールの種類に基づいて異なるゲーム モードを提供する。
XR-022: 公式の名称基準 *
タイトルが XBOX プラットフォームの機能、サービス、ハードウェア、または周辺機器に言及する場合は、用語リストの最新リリースで定義されている名称基準を使用する必要があります。これらの基準は、実行されるデバイスにかかわらず、すべての XBOX ゲームに適用されます。 タイトルは、用語リストに含まれていない用語を使用して、デバイスまたはその周辺機器のコンポーネントの画像を表示したり、それらに言及したりしてはなりません。022-01 公式の名称基準
テスト手順- タイトルを起動します。
- タイトルのすべての領域にアクセスします。
- すべてのメニューとサブメニューを操作します。
- 利用可能なすべての設定とオプションを変更します。
- タイトルがセーブをサポートしている場合は、可能なすべてのゲームの種類でセーブと読み込みを行います。
- すべてのシネマティックを視聴します。
- 表示されるすべてのテキストと画像を記録します。
すべてのテキストが最新の用語リストに準拠している。画像では、用語リストに明確に含まれていない用語を使用して、デバイスまたはその周辺機器のコンポーネントを表示してはなりません。 合格例
なし 不合格例
- タイトルが競合プラットフォームの独自の用語または画像を使用している。
- タイトルが、用語リストに含まれていない用語を使用して、デバイスのコンポーネントまたは周辺機器に言及している。
XR-074: XBOX およびパートナー サービスへの接続の喪失 *
タイトルは、XBOX およびパートナー サービスへの接続に関するエラーを適切に処理する必要があります。タイトルは、エラーの発生後に XBOX サービスへの要求を再試行する際に、XBOX が設定した再試行ポリシーに従う必要があります。タイトルは、サービスが利用できない場合に、ユーザーへのメッセージを適切に管理する必要があります。パートナー サービスが利用できない場合、ゲームは XBOX ネットワークに問題があることを示してはなりません。ネットワーク サービスが低速である場合や断続的にしか利用できない場合でも、タイトルがクラッシュまたはハングしてはなりません。074-01 XBOX サービスへの WAN 切断
テスト手順- XBOX プロファイルにサインインします。
- 次の操作を実行している間に、WAN ネットワークを切断します。イーサネット スイッチ/ハブを使用している場合は、ネットワーク デバイスからアップリンク ケーブルを外します。デバイスが Wi-Fi 経由で接続されている場合は、ワイヤレス アクセス ポイントの接続からアップリンク ケーブルを外します。
- 新しいセーブ ポイントの作成
- セーブ ポイントの読み込み
- オートセーブ ポイントへの到達
- セーブしたゲームの一覧の列挙
- オンライン セッションの検索と参加
- オンライン セッションの作成の試行
- ランキングの表示 (該当する場合)
- オフラインでのプレイ
コンソールが XBOX サービスに到達できない場合、タイトルはわかりやすいエラー メッセージで応答する必要があります。 合格例
- タイトルが、XBOX サービスへのネットワーク接続が失われたことを示すエラー メッセージを表示する。
- XBOX サービスを必要としないローカル ゲーム モードのプレイ中に、タイトルがエラー メッセージを表示しない。
- AppX マニフェストに
RequireXboxLiveがあるタイトルが、接続が失われたときに suspend してから終了する。
- ユーザーが、オンラインではない XBOX ゲーム セッションを完了できない。
- タイトルが応答しない状態または不安定な状態になる。
074-02 直接切断
テスト手順- タイトルを起動し、XBOX プロファイルにサインインします。
- タイトルで次の操作を実行している間に、デバイスからネットワーク ケーブルを抜くか、WAP またはワイヤレス ルーターの電源をオフにします。
- 新しいセーブ ポイントの作成。
- セーブ ポイントの読み込み。
- オートセーブ ポイントへの到達。
- セーブしたゲームの一覧の列挙。
- オンライン セッションの検索と参加。
- オンライン セッションの作成の試行。
- ランキングの表示 (該当する場合)。
- オフラインでのプレイ。
デバイスが XBOX サービスへの接続を失った場合、タイトルはわかりやすいエラー メッセージで応答する必要があります。 合格例
- オンライン ゲーム モード中に、タイトルがわかりやすいメッセージを表示する。
- オフライン ゲーム モード中に、タイトルがゲームプレイを中断しない。
- AppX マニフェストに
RequireXboxLiveがあるタイトルが、接続が失われたときに suspend してから終了する。
- オフライン ゲーム モード中にエラー メッセージが表示される。
- タイトルが応答しない状態または不安定な状態になる。
- ネットワークがオフラインになった後も、ユーザーがオンライン メニューを表示したり、バッファーされたメディアを視聴したりできる。
074-03 suspend、スリープ、または休止状態中の XBOX サービスへの切断
XBOX コンソールでゲームを suspend する方法、および PC またはハンドヘルド デバイスをスリープ状態や休止状態にする方法については、suspend、スリープ、休止状態のテストを参照してください。 このテスト ケースでは、手順 3 で、テスト対象のデバイスで利用可能なすべての suspend、スリープ、休止状態の方法を検証してください。 テスト手順- プロファイルにサインインします。XBOX コンソールでは、コンソールの電源モードをインスタント オンに設定します。
- ゲームを起動し、ゲームプレイに進みます。
- ゲーム全体のさまざまな時点で次を行います。
- XBOX コンソールでは、ゲームを suspend します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態にしてから休止状態にします。
- デバイスの電源を再度オンにした状態でゲームを再開し、ゲームが切断を適切に処理することを確認します。
- ゲーム全体で手順 3 ~ 4 を繰り返します。
suspend、スリープ、または休止状態から再開した後にデバイスが XBOX サービスに到達できない場合、タイトルは正常に再開し、状況を適切に処理し、必要に応じてわかりやすいエラー メッセージで応答する必要があります。 合格例
- オンラインの XBOX マルチプレイヤー セッション中に、タイトルが XBOX サービスへのネットワーク接続が失われたことを示すエラー メッセージを表示する。
- XBOX サービスを必要としないローカル ゲーム モードのプレイ中に、タイトルがエラー メッセージを表示しない。
- ユーザーが、オンラインではない XBOX ゲーム セッションを完了できない。
- タイトルが応答しない状態または不安定な状態になる。
- 再開後に、タイトルが誤解を招くエラー メッセージまたは誤ったエラー メッセージを表示する。
074-04 suspend、スリープ、または休止状態中の XBOX サービスへの再接続
XBOX コンソールでゲームを suspend する方法、および PC またはハンドヘルド デバイスをスリープ状態や休止状態にする方法については、suspend、スリープ、休止状態のテストを参照してください。 このテスト ケースでは、手順 3 で、テスト対象のデバイスで利用可能なすべての suspend、スリープ、休止状態の方法を検証してください。 テスト手順- プロファイルにサインインし、デバイスがホームに設定されていることを確認します。XBOX コンソールでは、コンソールの電源モードをインスタント オンに設定します。
- XBOX への接続がなく、ローカル ネットワーク接続は維持された状態で、タイトルを起動します。
- イーサネット スイッチ/ハブを使用している場合は、ネットワーク デバイスからアップリンク ケーブルを外します。
- デバイスが Wi-Fi 経由で接続されている場合は、ワイヤレス アクセス ポイントからアップリンク ケーブルを外します。
- ゲーム全体のさまざまな時点で次を行います。
- XBOX コンソールでは、ゲームを suspend します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態にしてから休止状態にします。
- アップリンク ケーブルを再接続し、デバイスが XBOX サービスに再接続するまで待ちます。
- デバイスの電源を再度オンにした状態でゲームを再開し、ゲームが再接続を適切に処理することを確認します。
- ゲーム全体で手順 2 ~ 5 を繰り返します。
suspend、スリープ、または休止状態から再開した後にデバイスが XBOX サービスに到達できない場合、タイトルは正常に再開し、状況を適切に処理し、必要に応じてわかりやすいエラー メッセージで応答する必要があります。 合格例
- ユーザーがタイトルを再開し、オフラインの XBOX ゲーム セッションを中断なく完了できる。
- タイトルが安定しており、クラッシュしない。
- ユーザーが、オンラインではない XBOX ゲーム セッションを完了できない。
- タイトルが応答しない状態または不安定な状態になる。
- 再開後に、タイトルが誤解を招くエラー メッセージまたは誤ったエラー メッセージを表示する。
074-07 動的な接続の喪失
必要なツール: パートナー サービスをブロックするように XMAT を構成する インストール、キャプチャのセットアップ、およびスクリプトの手順については、XBOX Multiplayer Analysis Tool を使用したネットワーク トラフィックの検査と変更を参照してください。- 管理者として XMAT を起動し、テスト対象のデバイスに対する Web Proxy キャプチャを追加します。
- XBOX 開発コンソールでは、Enable XBOX Proxy を選択し、コンソールが再起動するまで待ちます。
- Windows では、Start Capture を選択します。
- XMAT でキャプチャしている状態で、タイトルを起動し、すべてのメニューを操作し、マルチプレイヤー セッションを完了し、すべてのゲーム モードを読み込み、次を含むタイトルのすべての領域を操作します。
- メニュー。
- ランキング。
- サーバー (サーバーを作成し、他のユーザーのサーバーに参加する)。
- フレンド リスト。
- タイトル内ストア。
- 期間限定イベント。
- Host フィルターを使用して、通常のゲームプレイ中に接続されるパートナー サービスのホストを特定します。ブロックする前に、選択したホストが Microsoft、XBOX、または PlayFab に属していないことを確認します。
- Script Editor を開き、SSL Connection Request イベントを選択して、各パートナー サービス ホストに対して
Params.Continueをfalseに設定するスクリプトを作成します。 - スクリプトを有効にし、正常にコンパイルされることを確認します。その後、テストの開始時にパートナー サービスが利用可能な状態になるように、スクリプトを無効にします。XMAT のキャプチャは実行したままにします。
- XMAT のブロック スクリプトを無効にした状態で、XBOX プロファイルにサインインし、タイトルを起動します。
- パートナーがホストするサービスを使用するタイトルの機能に移動し、その機能が利用可能であることを確認します。
- タイトルを閉じずに、XMAT のブロック スクリプトを有効にします。
- タイトルを続けて操作し、次を含む該当するすべての領域を試します。
- メニュー
- ランキング
- サーバー (サーバーを作成し、他のユーザーのサーバーに参加する)
- フレンド リスト
- タイトル内ストア
- 期間限定イベント
- タイトルが XBOX ネットワークの問題を示すエラー メッセージを表示しないことを確認します。
タイトルが、Microsoft 以外のサービスへの切断を適切に処理する。 合格例
- パートナーがホストするサービスへの接続が失われたときに、タイトルがハングまたはクラッシュしない。
- 表示されたメッセージが、Microsoft サービスの問題であることを示唆している。
- 内容がわかりにくいエラー メッセージが表示される。
- タイトルがクラッシュする、不安定になる、またはコンソールの再起動を引き起こす。
074-08 リリース前のダウンタイム
必要なツール:- GDK/XDK の xbstress.exe
- Windows 用の XBOX Multiplayer Analysis Tool (XMAT)。
- コンソールでは、次のコマンドを使用して、Microsoft 以外のトラフィック用に xbstress.exe で切断されたネットワーク チャネルを作成します。
xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]
- 次のコマンドでネットワーク シミュレーションを開始します:
xbstress simulate network=channels。 - Windows でテストする場合は、タイトルを起動する前に、XMAT の Web プロキシ キャプチャを構成し、該当するパートナー サービス ホストをブロックするスクリプトを有効にします。
- XBOX プロファイルにサインインします。
- タイトルを起動します。
- Microsoft 以外のオンライン機能にアクセスします。
タイトルは、Microsoft 以外のサービスへの到達に問題があることを示すわかりやすいエラー メッセージを表示し、接続を再試行する機会を提供する必要があります。 合格例
- パートナーがホストするサービスへの接続が失われたときに、タイトルがハングまたはクラッシュしない。
- 表示されたエラーが、Microsoft サービスの問題であることを示唆している。
- 内容がわかりにくいエラー メッセージが表示される。
- タイトルがクラッシュする、不安定になる、またはコンソールの再起動を引き起こす。
XR-132: サービス アクセスの制限 *
XBOX ネットワーク サービスを呼び出す際にタイトルおよびユーザー単位の制限を超えるタイトル、または XBOX ネットワーク サービスの再試行ポリシーに従わないタイトルは、レート制限の対象となる場合があり、その結果、サービスの中断または廃止が生じる可能性があります。指定された制限に従わない場合、タイトルのリリースがブロックされる可能性があります。また、リリース済みのタイトルで運用中に問題が発生した場合は、XBOX ネットワーク サービスの停止 (最大でタイトルの削除を含む) につながる可能性があります。132-01 サービス アクセスの制限
必要なツール- コンソールでの Fiddler または PC での Fiddler
- GDK 開発ツールのダウンロード パッケージに含まれる XBOX services Trace Analyzer。タイトルによって行われたサービス呼び出しを確認し、呼び出しパターンの違反を見つけるために使用します。
- タイトルを起動する前に、Fiddler Classic を起動し、コンソールまたは Windows 10 PC (対象のタイトルが実行されている方) からのネットワーク トラフィックをキャプチャするように構成されていることを確認します。
- Fiddler Classic が実行されてネットワーク トラフィックをキャプチャしている状態で、タイトルを起動し、次を含む (ただしこれらに限定されない) すべての領域を進めます。
- ゲームのセーブを作成し、コンソールを再起動して、ゲームのセーブを読み込む
- リッチ プレゼンスの状態を立て続けに変更する (可能な場合)
- 実績のロックを解除して表示する
- すべてのランキングに投稿し、すべてのフィルターを使用してすべてのランキングを表示する
- ゲーム内のフレンド リスト (プレゼンスをブロックしているフレンドを含む) を表示し、ページ間をすばやく移動する
- ヒーロー統計を獲得して表示する
- すべてのオンライン モードでマッチメイキングを行い (利用可能なセッションが見つからない場合を含む (可能な場合))、ボイス トラフィックを生成する
- ゲーム クリップを作成、保存、共有する
- ゲーム内ストアにアクセスする (該当する場合)
- テストが終了したら、Fiddler のキャプチャをローカル ディレクトリに保存します。
- GDK コマンド プロンプトで、
xbltraceAnalyzer -data filepath -outputdir filepathを実行します。 - 手順 4 の出力ディレクトリを開き、‘index’ ファイルを開きます (メッセージが表示された場合は ‘ブロックされているコンテンツを許可’ を選択します)。
xbtrace.exe はタイトルが起動されるまで開始できませんが、タイトルが起動時に行う XBOX サービス呼び出しをキャプチャするために、できるだけ早く開始する必要があります。このため、タイトルを起動する前に開始できる Fiddler Classic が、タイトルのトラフィックをキャプチャする推奨方法です。
- タイトルが実行されている状態で、
xbtrace start xboxliveservicesを実行し、次を含む (ただしこれらに限定されない) タイトルのすべての領域を進めます。- ゲームのセーブを作成し、コンソールを再起動して、ゲームのセーブを読み込む
- リッチ プレゼンスの状態を立て続けに変更する (可能な場合)
- 実績のロックを解除して表示する
- すべてのランキングに投稿し、すべてのフィルターを使用してすべてのランキングを表示する
- ゲーム内のフレンド リスト (プレゼンスをブロックしているフレンドを含む) を表示し、ページ間をすばやく移動する
- ヒーロー統計を獲得して表示する
- すべてのオンライン モードでマッチメイキングを行い (利用可能なセッションが見つからない場合を含む (可能な場合))、ボイス トラフィックを生成する
- ゲーム クリップを作成、保存、共有する
- ゲーム内ストアにアクセスする (該当する場合)
- テストが終了したら、
run xbtrace stopを 2 回実行します。 - コンソールのファイルを参照すると、SystemScratch > xbtrace に csv があります。タイムスタンプを確認し、記録を停止した時刻が登録されていることを確認します。それをローカルにコピーします。
- XDK コマンド プロンプトで、
Xbltraceanalyzer -data filepath -outputdir filepathを実行します。 - 手順 4 の出力ディレクトリを開き、‘index’ ファイルを開きます (メッセージが表示された場合は ‘ブロックされているコンテンツを許可’ を選択します)。
タイトルは、XBOX エンドポイントへのサービス呼び出しを指定されたバースト制限と持続制限未満に抑え、XBOX services Trace Analyzer レポートに赤の結果が含まれないようにする必要があります。 XBOX services Trace Analyzer ツールは、違反が見つかったルールとその違反の詳細を示す report.txt ファイルを生成します。
[!Tip] XBOX services Trace Analyzer レポートの解釈合格例
- 赤 - きめ細かなレート制限が適用されるポイントを 10 倍超えている問題を示します。これは認定において重大な問題です。
- 黄 - タイトルがサービスへの呼び出しの許容頻度を超えているためにサービスのレート制限が適用されているものの、認定において重大な問題となるしきい値は超えていないことを示します。タイトルはこれらの解決を検討する必要があります。
- 緑 - タイトルが、レート制限が適用される頻度を下回って XBOX サービスを呼び出していることを示します。
- XBOX サービスを呼び出す際に、タイトルが持続制限を超えない。
- XBOX services Trace Analyzer レポートに、黄または緑の結果のみが含まれる。
- タイトルが持続制限 (レート制限が適用される制限) を 10 倍超えている。たとえば、きめ細かなレート制限が適用される持続制限が 300 秒間に 300 回の呼び出しに設定されている場合、300 秒間に 3000 回以上の呼び出しを行うタイトルは不合格になります。
- XBOX services Trace Analyzer レポートに、1 つ以上の赤の結果が含まれる。
132-02 ゲーム イベントの制限
テスト手順- タイトルをインストールし、タイトルが実行されている状態で、次を含む (ただしこれらに限定されない) タイトルのすべての領域を操作します。
- ゲームのセーブを作成し、コンソールを再起動して、ゲームのセーブを読み込む
- リッチ プレゼンスの状態を立て続けに変更する (可能な場合)
- 実績のロックを解除して表示する
- すべてのランキングに投稿し、すべてのフィルターを使用してすべてのランキングを表示する
- ゲーム内のフレンド リスト (プレゼンスをブロックしているフレンドを含む) を表示し、ページ間をすばやく移動する
- ヒーロー統計を獲得して表示する
- すべてのオンライン モードでマッチメイキングを行い (利用可能なセッションが見つからない場合を含む (可能な場合))、ボイス トラフィックを生成する
- ゲーム クリップを作成、保存、共有する
- ゲーム内ストアにアクセスする (該当する場合)
- テスト中に、タイトルを観察し、ゲーム イベントの制限に関するシステム トーストが表示されるかどうかを確認します。
ゲームは、ゲーム イベントの制限に関するシステム トーストをトリガーしてはなりません。 合格例
- タイトルが、ゲーム イベントの制限に関するシステム トーストをトリガーしない。
- タイトルが、ゲーム イベントの制限に関するシステム トーストをトリガーする。
オンラインの安全性とプライバシー
このカテゴリの要件は、ユーザーの安全性とプライバシーの保護に関するものです。XR-013: Microsoft アカウントとパブリッシャー アカウントのリンク *
XBOX では、パブリッシャーがホストするサービス、パブリッシャー アカウント、パートナーがホストするアカウント、またはその他の XBOX 以外の資格情報を使用するタイトルは、XBOX ユーザーに一貫性があり、安全で、年齢に適したエクスペリエンスをサポートする必要があります。 ゲームプレイやゲーム機能にパブリッシャー アカウントへのサインイン、アカウントの作成、またはアカウントのリンクが必要な場合、タイトルは、次の要素に基づいてタイトルまたは機能へのアクセス資格を持つすべてのユーザーに、年齢に適したアクセス経路を提供する必要があります。- タイトルの年齢区分
- XBOX のファミリー、プライバシー、および安全性の設定
- タイトルまたは機能が提供されているサポート対象の地域
- 適用される現地または地域の法律
- 機能固有のプライバシー、安全性、またはモデレーションの要件
- ユーザーの年齢層と地域をサポートする標準のパブリッシャー アカウント。
- 年齢に適した既定値を持つ、子供または 10 代向けのパブリッシャー アカウント。
- 保護者の同意または保護者の承認によるアカウント作成フロー。
- 機能が限定された、制限付きの、またはプライバシーを保護するパブリッシャー アカウント。
- 不必要なパブリッシャー アカウントの作成を回避する、Microsoft または XBOX で認証されたアクセス経路。
- 完全なパブリッシャー アカウントのリンクを行わずに、資格のあるユーザーが機能にアクセスできるようにする機能固有のフォールバック。
オンライン マルチプレイヤー、コミュニケーション、ユーザー生成コンテンツ、クロスネットワーク機能、その他のオンライン機能を含むゲームの一部の機能は、XBOX の子供または 10 代のアカウント、あるいはパブリッシャー アカウントの要件を満たさないユーザーはアクセスできない場合があります。年齢および地域による制限が適用される場合があります。既知の制限が適用される場合は、タイトル固有の文言を使用してください。例:
[機能] には [X] 歳以上の [パブリッシャー アカウント] が必要です。年齢制限が適用されます。パブリッシャー アカウントと Microsoft アカウントのリンク XBOX Secure Token Service (XSTS) を使用した認証 ユーザーのパブリッシャー アカウントをユーザーの Microsoft アカウントにリンクする際は、認証用の ID 情報を提供するために XSTS トークンを使用する必要があります。XSTS トークン認証の詳細については、「タイトル サービスの XBOX サービス認証」を参照してください。タイトルは、リンクを確立する前に Microsoft アカウントとパブリッシャー アカウントの両方を認証する必要があり、ゲーマータグのみなどの認証されていない識別子を使用してアカウントをリンクしてはなりません。アカウントのリンクには Partner XUID (PXUID) またはペアワイズ識別子を使用してください。承認されたサービス間シナリオで明示的に必要とされる場合を除き、アカウントのリンク情報の保存に XUID を使用しないでください。 同意の取得と選択肢の提供 パブリッシャー アカウントが Microsoft アカウントにリンクされたときにはユーザーに通知する必要があり、アカウントのリンクが任意である場合は、オプトアウトする選択肢をユーザーに提供する必要があります。ユーザーはアカウントのリンクを解除できる必要があります。アカウントのリンク解除は、タイトル内、Web 上、コンパニオン アプリ、またはその他の専用のアカウント管理エクスペリエンスを通じて提供できます。 リンクにおける資格のあるユーザーへの対応 ゲームプレイまたはゲーム機能にパブリッシャー アカウントのリンクが必要な場合、リンクは、タイトルが提供され、かつそれらの機能が法律で許可されている地域において、資格のあるユーザーの種類、年齢、および地域をサポートする必要があります。リンクされたパブリッシャー アカウントが必要であるにもかかわらず、パブリッシャーがユーザーの年齢層、地域、またはアカウントの種類をサポートできない場合、タイトルは承認された代替アクセス経路を提供するか、例外を申請する必要があります。 年齢とアカウントの処理 Microsoft アカウント ユーザーにアカウントの作成またはリンクの機能を提供する前に、タイトルは
XUserGetAgeGroup を呼び出してユーザーの年齢層を検証する必要があります。タイトルは、次のアカウント カテゴリを正しく処理する必要があります。
- ユーザーの Microsoft アカウントの年齢とパブリッシャー アカウントの年齢が異なる場合、タイトルまたはサービスは、別の法的に準拠したアプローチ (承認された年齢確認プラットフォームなど) を使用する場合を除き、より保護的な扱いを適用する必要があります。
- 子供のアカウントの場合、法律で義務付けられているときは、パブリッシャーはアカウントを作成する前に保護者の同意を得る必要があります。保護者の同意 (必要に応じてパブリッシャーの利用規約およびプライバシーに関する声明への同意を含む) は、パブリッシャーの準拠したアカウント フローを通じて提供される必要があり、XBOX ネットワークへの参加のみをもって同意があったと見なしてはなりません。
- 10 代のアカウントの場合、パブリッシャーは、ソーシャル、UGC、コミュニケーション、データ共有、およびプライバシーに影響する機能について明確な情報を提供する必要があります。必要に応じて、パブリッシャーは、アカウントが作成されたことを保護者に知らせるよう 10 代のユーザーに求める必要があります。
- パブリッシャーがアカウントのセットアップ中に年齢を収集し、ユーザーがパブリッシャー アカウントの要件を満たしていないと判断した場合、パブリッシャーは、不必要な個人情報を収集する前にアカウントの作成を停止し、続行できないことをユーザーに通知し、必要に応じて異なる年齢情報がすぐに再入力されるのを防ぎ、保持する必要のない収集済みの個人情報を破棄し、サインアップやリンクの試行が繰り返し失敗することを回避する必要があります。
- ボイス チャットまたはテキスト チャット
- フレンド システムまたはソーシャル グラフ機能
- クロスネットワーク コミュニケーション
- UGC のアップロードまたは公開
- 公開プロフィール
- 外部フォーラムまたはコミュニティ機能
- 購入、プレミアム通貨、または収益化
- 行動ターゲティング広告、プロファイリング、または任意のデータ共有
[!NOTE] パブリッシャーは、リンクされたアカウントが新しいデバイスから初めてサインインする際の 2 要素認証など、追加の不正防止メカニズムを実装できます。この動作は、この XR の違反にはなりません。例外 パブリッシャーが、年齢区分上の資格を持つユーザーに年齢に適したアクセス経路を提供できない場合、パブリッシャーはタイトル固有の例外を申請する必要があります。1 つのタイトルに対する承認は、今後のタイトルに対する包括的な承認にはなりません。例外の申請には、次の内容を含める必要があります。
- 対象となるタイトル、年齢区分、プラットフォーム、地域、機能、およびユーザー グループ。
- パブリッシャー アカウントなしでコア ゲームプレイを引き続き利用できるかどうか。
- ブロックまたは制限される機能とその理由。
- 制限の法的、プライバシー、安全性、技術的、またはモデレーション上の根拠。
- 提案するストア、パッケージ、およびタイトル内の開示文言。
- ブロックまたは制限されるユーザーのユーザー エクスペリエンス。
- 子供、10 代、成人、ファミリーによる管理、および地域固有のアカウントのケースに関するテスト計画。
- 将来、年齢に適したアクセスをサポートするための軽減計画またはロードマップ。
013-01 Microsoft アカウントとパブリッシャー アカウントのリンク
テスト手順- タイトルが、サービスまたは機能のために XBOX 以外のアカウント、パブリッシャー アカウント、またはパブリッシャーへのログインをサポートまたは必要としているかどうかを確認します。
- 新しく作成した XBOX プロフィールを使用して、初期セットアップ中にパブリッシャー アカウントをリンクまたは作成します。
- アカウントのリンクを完了する前に、タイトルで利用規約とプライバシー情報を表示できること、またはそれらの表示方法がユーザーに明確に通知されることを確認します。
- 初期セットアップ後に、XBOX 以外のアカウントの資格情報の再入力をユーザーに求めないことを確認します。
- タイトルの実行中にサインアウトし、再度サインインします。
- シングル サインオンが引き続き機能することを確認します。
- 同じプロフィールを使用して、タイトルを終了し、再アクティブ化します。
- シングル サインオンが引き続き機能することを確認します。
- 同じプロフィールを使用して、別の本体でタイトルを起動します。
- シングル サインオンが引き続き機能することを確認します。
- タイトルが作成した可能性のある保存ファイルを削除して、タイトルが XBOX 以外のアカウントの資格情報をローカルに保存していないことを確認します。
- ユーザーが XBOX プロフィールと XBOX 以外のアカウントのリンクを解除できることを確認します。
- タイトルの年齢区分に該当する XBOX の子供および 10 代のアカウントで、該当する手順を繰り返します。
- マルチプレイヤー、コミュニケーション、UGC、購入、およびクロスネットワーク プレイを許可またはブロックするファミリー設定で、該当する手順を繰り返します。
- Microsoft アカウントとパブリッシャー アカウントの年齢が一致しない状態で、該当する手順を繰り返します。
- 該当する場合は、同意年齢のしきい値が異なるサポート対象の地域について、該当する手順を繰り返します。
- パブリッシャーが子供、10 代、地域、またはアカウントの種類をサポートしていない場合は、タイトルが承認された代替アクセス経路、適切なメッセージ、または承認された例外に基づく制限を提供していることを確認します。
タイトルは、パブリッシャー アカウントを使用するすべての場所で、安全なパブリッシャー アカウントへのサインイン、アカウントの作成、リンク、リンク解除、およびシングル サインオンを提供する必要があります。ゲームプレイまたはゲーム機能にパブリッシャー アカウントへのサインインまたはリンクが必要な場合、タイトルは、タイトルの年齢区分、XBOX のファミリー設定、地域の法律、および機能固有の安全性またはプライバシーの要件に基づいて、タイトルまたは機能へのアクセス資格を持つすべてのユーザーに、年齢に適したアクセス経路を提供する必要があります。ユーザーは、リンクする前に適用される利用規約とプライバシー情報を表示でき、XBOX プロフィールとパブリッシャー アカウントのリンクを解除できる必要があります。 合格例
- タイトルは両方のアカウントを認証し、PXUID またはペアワイズ識別子でリンクし、最初のリンク後にパブリッシャーの資格情報の再入力をユーザーに求めることはありません。
- タイトルは、利用規約、プライバシー情報、同意、リンク解除、およびシングル サインオンを提供します。
- タイトルは、準拠した子供または 10 代向けのパブリッシャー アカウント、保護者の同意フロー、機能が限定されたアカウント、XBOX で認証された経路、または承認された機能固有のフォールバックを通じて、子供および 10 代のユーザーをサポートします。
- タイトルは、チャット、UGC のアップロード、購入、クロスネットワーク コミュニケーションなどの高リスク機能を制限しつつ、法的に許可されている場合は、適切な年齢区分のゲームプレイへのアクセスを維持します。
- タイトルは、パブリッシャー アカウントの要件と機能の制限を、ストア、パッケージ、およびタイトル内のメッセージで明確に開示します。
- タイトルを起動するたびに、タイトルがパブリッシャーの資格情報を要求します。
- 別の本体で実行したときに、タイトルがパブリッシャーの資格情報を再度要求します。
- アカウントの作成時またはリンク時に、タイトルが利用規約やプライバシー情報を提供しません。
- タイトルが、パブリッシャー アカウントと Microsoft アカウントのリンクを解除する方法を提供しません。
- タイトルがゲームプレイまたは宣伝されている機能にパブリッシャー アカウントを必要としているにもかかわらず、資格のある子供または 10 代のユーザーに年齢に適したアクセス経路を提供していません。
- パブリッシャーの標準アカウント システムがユーザーの年齢層、地域、またはアカウントの種類をサポートしていないという理由だけで、タイトルが年齢区分上の資格を持つユーザーをコア ゲームプレイや宣伝されている機能からブロックします。
- タイトルが、承認された例外なしに、ストアでの開示のみに依存して、資格のあるユーザーを必要なゲームプレイや宣伝されている機能からブロックします。
- タイトルが、Microsoft アカウントとパブリッシャー アカウントの年齢の不一致を安全に処理できません。
XR-014: プレイヤー データと個人情報 *
ゲーム パブリッシャーは、特にユーザーが子供である場合、適用される法律に従ってエンド ユーザーのデータを収集および処理することについて単独で責任を負います。 さらに、タイトルが XBOX から取得した、またはプレイヤーとの直接的な関係 (Web サイトやモバイル アプリなど) を通じて取得したプレイヤーに関する情報を保持している場合、タイトルは次の情報を他のプレイヤーに表示してはなりません。- ユーザーに金銭的な損害を与えるために使用される可能性のある情報 (社会保障番号やクレジット カード番号など)。
- 国/地域よりも詳細なユーザーの住所を明らかにする情報。
- アカウントの資格情報など、ユーザーがオンラインで他のユーザーになりすますことを可能にする情報。
子供のデータの取り扱い
子供または 10 代の年齢層のアカウントからデータを収集する場合、タイトルは、年齢の確認、保護者の同意の取得、またはパブリッシャー アカウントのリンクの完了に必要な個人データのみを要求できます。[!Important] データの要求では、そのデータを何に使用するかを明示する必要があります。たとえば、タイトルがユーザーの生年月日を尋ねる場合は、その生年月日を何に使用するかを明示する必要があります。 良い例:悪い例:
- 年齢を確認するため、生年月日を入力してください
- エクスペリエンスをパーソナライズするため、生年月日を入力してください
- 年齢に適したコンテンツを提供するため、生年月日が必要です
- 法的な年齢制限を遵守するため、生年月日が必要です
- 生年月日を入力してください
- 生年月日を入力
- 生年月日が必要です
- 生年月日は必須です
定義
住所とは、ユーザーの所在地を市区町村のレベルまで特定できるあらゆる情報です。これには次のものが含まれますが、これらに限定されません。- 物理的な住所
- 郵送先住所
- 請求先住所
- 郵便番号
- IP アドレスまたは関連情報
- 地理的な位置情報
014-01 個人情報
テスト手順- 考えられるすべての XBOX マルチプレイヤー セッションを含め、タイトルのすべての領域にアクセスします。
- コンテンツが保存される可能性のある領域、または XBOX ネットワーク経由やタイトル サーバーに送信される可能性のあるすべての領域にアクセスします。
タイトルは、XR の本文で詳しく説明されている他のユーザーの個人情報を決して表示してはなりません。 合格例
- タイトルが、居住国の情報を表示し、別の本体のユーザーと共有します。
- タイトルが、ユーザーの IP アドレスを使用してユーザーの大まかな所在地 (州または国/地域より詳細でないもの) を特定し、その所在地をランキングで他のユーザーに表示します。
- タイトルが、ユーザーの個人情報を送信し、他の本体のユーザーと共有します。 例: メール アドレス、所在地 (州/国/地域より詳細なもの)、名前、生年月日、プロフィールのパスコード、秘密の質問、パスワード、クレジット カードの詳細。
014-02 データ収集
テスト手順- 子供または 10 代のアカウントを使用してタイトルを起動します。
- 考えられるすべてのシングル プレイヤーおよび XBOX マルチプレイヤーのゲーム モードを含め、タイトルのすべての領域にアクセスします。
- ユーザーにどのようなデータが要求されているかを確認します。
タイトルは、子供または 10 代のユーザーに対して、次の目的に必要な範囲を超えてデータを要求してはなりません。
- 年齢の確認
- 保護者の同意の取得 (保護者のメール アドレスなど)
- パブリッシャー アカウントのリンク (保護者、子供、または 10 代のユーザーのメール アドレスなど)
- タイトルが、子供または 10 代のユーザーにデータを一切要求しません。
- タイトルが、ユーザーの生年月日を要求し、そのデータを何に使用するかを明示します。
- タイトルが、保護者のメール アドレスを要求し、そのデータを何に使用するかを明示します。
- タイトルが、アカウントのリンク用にメール アドレスを要求し、そのデータを何に使用するかを明示します。
- タイトルが、年齢の確認、保護者の同意の取得、またはパブリッシャー アカウントのリンク以外の目的に使用される可能性のあるデータを要求します。
- タイトルが、ユーザーの生年月日を要求し、そのデータを何に使用するかを明示しません。
- タイトルが、保護者のメール アドレスを要求し、そのデータを何に使用するかを明示しません。
- タイトルが、アカウントのリンク用にメール アドレスを要求し、そのデータを何に使用するかを明示しません。
XR-015: プレイヤーのコミュニケーションの管理 *
タイトルは、ユーザーのプライバシー設定で許可されていない場合、XBOX ネットワーク経由のコミュニケーションを許可してはなりません。 タイトルは、XBOX ネットワーク サービスからデータを取得することで、この XR を満たします。タイトルが独自のサービスを使用する場合は、セッションの開始時、または新しいユーザーがセッションに参加したときに、ユーザーのプライバシーのアクセス許可を確認する必要があります。セッション外でユーザーが開始するシナリオでは、タイトルは、ユーザーのデータを表示する前、およびアクションを実行する前にプライバシーを確認することで、この要件を満たします。タイトルが確認できるアクセス許可は次のとおりです。
ゲームプレイ セッション中、XBOX ネットワークのプレイヤーと XBOX ネットワーク以外のプレイヤーとの間のコミュニケーションを提供するタイトルは、セッションの間、XBOX ネットワーク以外のプレイヤーをミュートする機能を提供する必要があります。
[!Note] タイトルでプライバシーとアクセス許可の問題を確認して解決する方法の詳細については、「プライバシーとアクセス許可の概要」を参照してください。
015-01 ユーザーのコミュニケーション
構成:- “他のユーザーが音声、テキスト、または招待でコミュニケーションできる” を “全員”、“フレンド”、“ブロック” に設定したプロフィールのセットを作成します。
- XBOX 外でのコミュニケーションをサポートするタイトルの場合は、“XBOX 外で音声とテキストでコミュニケーションできる” を “許可”、“ゲーム内フレンド”、“ブロック” に設定したプロフィールのセットを作成します。
[!Note] “許可” と “ゲーム内フレンド” のオプションの違いは、“許可” ではクロスネットワークで全員 (ランダムなマッチメイキングで出会ったプレイヤーを含む) と会話できることを意味する点です。“ゲーム内フレンド” とは、ゲーム内のフレンド リストに追加することで、一緒にプレイすることを明示的に選択したユーザーです。テスト手順
- デバイス 1 で、構成に従って特定のアクセス許可のセットが構成されたプロフィールにサインインします。
- デバイス 2 で、コミュニケーションの制限がないプロフィールにサインインします。
- 両方のデバイスでタイトルを起動し、サポートされているすべての場所でテキスト、音声 (Kinect 経由とヘッドセット経由の両方)、およびビデオを使用してコミュニケーションを試み、マルチプレイヤー ゲームの招待の送信を試みます。
- 構成の手順のすべてのプロフィールについて、手順 1 から 3 を繰り返します。
タイトルは、プライバシーおよびオンラインの安全性に関連するアクションについてのユーザーのアクセス許可を XBOX サービスで確認する必要があり、ユーザーのプライバシーとオンラインの安全性の設定で許可されていない場合は、ユーザー データを送信したり、XBOX 経由のコミュニケーションを許可したりしてはなりません。 合格例
- 特定のコミュニケーション方法がブロックされるように構成されている場合、タイトルは、ユーザーが XBOX 経由で音声とテキストでコミュニケーションすることを禁止します。
- 特定のコミュニケーション方法がブロックされるように構成されている場合、タイトルは、ユーザーが XBOX 外で音声とテキストでコミュニケーションすることを禁止します。
- ブロックされている場合、タイトルは、ユーザーが XBOX でマルチプレイヤー ゲームの招待を受信することを禁止します。
- 特定のコミュニケーション方法がブロックされるように構成されているにもかかわらず、ユーザーが XBOX 経由で音声とテキストでコミュニケーションできます。
- 特定のコミュニケーション方法がブロックされるように構成されているにもかかわらず、ユーザーが XBOX 外で音声とテキストでコミュニケーションできます。
- ブロックされているにもかかわらず、タイトルが、ユーザーが XBOX でマルチプレイヤー ゲームの招待を受信することを許可します。
015-02 ミュートのサポート
テスト手順- ユーザー A として、ユーザー B をミュートします。
- 両方のユーザーを XBOX マルチプレイヤー セッションに参加させます。
- ユーザー B からユーザー A への音声コミュニケーションの送信を試みます。
- ユーザー A がユーザー B からの音声コミュニケーションを一切受信できないことを確認します。
ユーザー A は、ユーザー B からのコミュニケーションを聞くことができない必要があります。 合格例
- ミュートされたユーザーからの音声コミュニケーションが、ミュートを開始したユーザーに聞こえません。
- ミュートされたユーザーからの音声コミュニケーションが、ミュートを開始したユーザーに聞こえます。
015-03 ブロックされたユーザー
テスト手順- ユーザー A として、ユーザー B をブロックします。
- 両方のユーザーを XBOX マルチプレイヤー セッションに参加させます。
- ユーザー B からユーザー A への音声および文字によるコミュニケーションの送信を試みます。
- ユーザー B からユーザー A へのマルチプレイヤー ゲームの招待の送信を試みます。
- ユーザー A がユーザー B からのコミュニケーションやマルチプレイヤー ゲームの招待を一切受信できないことを確認します。
ユーザー A は、ユーザー B からのコミュニケーションを聞いたり見たりできない必要があります。ユーザー A は、ユーザー B からマルチプレイヤー ゲームの招待を受信してはなりません。 合格例
- ブロックされたユーザーからのコミュニケーションが、ブロックを開始したユーザーに見えず、聞こえません。
- ブロックされたユーザーからのマルチプレイヤー ゲームの招待を、ブロックを開始したユーザーが受信しません。
- ブロックされたユーザーからのコミュニケーションが、ブロックを開始したユーザーに見えるか、聞こえます。
- ブロックされたユーザーからのマルチプレイヤー ゲームの招待を、ブロックを開始したユーザーが受信します。
XR-018: ユーザー生成コンテンツ *
ユーザー生成コンテンツ (UGC) とは、プレイヤーが作成し、オンライン状態で他の 1 人以上のユーザーが表示またはアクセスできるようにしたゲーム内のデジタル コンテンツを指します。 製品に UGC が含まれている場合は、次の対応を行う必要があります。- 不適切または有害な UGC を、確認および削除/無効化 (コンテンツ ガイドラインに違反している場合) のためにユーザーが開発者に報告できる製品内の手段を提供するか、不適切または有害な UGC を事前に検出する方法 (テキスト フィルタリングなど) を実装するか、またはその両方を行います。
- ユーザー生成コンテンツに関するコンテンツ ガイドライン (利用規約や行動規範など) を公開し、製品内またはタイトルの Web サイトでユーザーが利用できるようにします。
- 標準の措置メカニズムやプロセスで対処されていない違法な素材が XBOX ネットワーク上にあることを Microsoft が認識するというまれな状況において、Microsoft の要請に応じて高リスクの違法コンテンツを削除/無効化できるよう準備しておきます。
- プレイヤーの UGC 設定を尊重し、制限された権限のためにユーザーがゲーム内で UGC にアクセスできないシナリオを適切に処理します。
- プラットフォームの報告/苦情 API (利用可能な場合) と統合し、サードパーティとの契約で求められている場合はコンテンツをモデレートします。
- コンテンツの提供元が開発者ではない場合は、免責事項、ダイアログ、または視覚的なインジケーターをユーザーに提示します。
018-01 不適切なコンテンツの報告と UGC テキスト文字列の検証
テスト手順- フレンドではないユーザー間でテキストを入力でき、そのテキストを別のデバイスのユーザーが表示できる、タイトルのすべての領域を特定します。
- 他のユーザーの不適切または有害な UGC を開発者に報告するための製品内の手段をタイトルが提供していることを確認します。
-
不適切なコンテンツを報告する手段がない場合は、各領域で、使用禁止用語リストに含まれる文字列、部分文字列などを入力します。
- 使用禁止用語を直接入力します (例: “ForbiddenTerm”)。
- 使用禁止用語を、スペースで区切った別の禁止されていない用語と組み合わせて入力します (例: “Good ForbiddenTerm”)。
- キャラクター名など、オフライン状態で UGC を作成できるタイトルの場合は、デバイスをネットワークから切断し、使用禁止用語の組み合わせを入力してから、ネットワークに再接続します。
- 使用禁止用語が、別のデバイスの他のユーザーに表示されないことを確認します。
- タイトルがサポートする各言語で、対応するロケールの使用禁止用語を使用して手順 3 から 5 を繰り返します。
タイトルは、不適切または有害な UGC をユーザーが開発者に報告できる製品内の手段を提供するか、不適切または有害な UGC を事前に検出する方法 (たとえば、StringService API を使用したテキスト フィルタリング) を実装するか、またはその両方を行う必要があります。不適切または有害なコンテンツは、XBOX サービス上のローカル以外のプレイヤーに対してブロックまたは難読化される必要があります。 XBOX のゲーマータグは UGC の要件の対象外であり、テキスト フィルタリング、タイトルが管理する報告オプション、または制限された UGC 権限による難読化の対象にすべきではありません。 UGC に関するガイドライン (利用規約や行動規範など) は、製品内またはタイトルの Web サイトでユーザーが利用できます。 タイトルは、制限された UGC 権限を持つユーザーに対して、ゲーム モードやエクスペリエンス全体をブロックしてはなりません。 合格例
- XBOX のゲーマータグが、フィルタリング、難読化、またはタイトル内での報告の対象になっていません。
- クロスネットワークのユーザー名、パブリッシャーが管理するユーザー名、カスタム キャラクター名、またはクラン/分隊/ギルド名が難読化されていません。
- タイトルが、不適切または有害な UGC をユーザーが開発者に報告できる製品内の手段を提供しています。
- タイトルが、不適切または有害な UGC の投稿を防止し、投稿が失敗した理由をユーザーに通知します。
- タイトルが、不適切または有害なテキストを、Content Blocked や $!*#& などの単語や文字に置き換えます。
- ロビーやゲーム内のテキスト オーバーレイなど、ゲーム内でリアルタイムに共有される、またはフレンド間でのみ共有される、ユーザーが入力したテキストはフィルタリングされません。
- 不適切または有害なテキスト文字列は、ローカル本体のユーザーには表示されますが、ローカル本体を越えて他のフレンド以外のユーザーには送信されません。
- UGC に関するガイドライン (利用規約や行動規範など) は、製品内またはタイトルの Web サイトでユーザーが利用できます。
- タイトルが、制限された UGC 権限を持つユーザーに対して、ゲーム モードやエクスペリエンス全体をブロックしません。
- XBOX のゲーマータグがフィルタリングまたは難読化されます。
- タイトルが、不適切または有害な UGC をユーザーが開発者に報告する手段を提供していないか、不適切または有害な UGC が他のデバイスのフレンド以外のユーザーに表示されることを許可しています。
- タイトルで、オフライン状態で UGC を作成し、その後オンラインで共有することにより、ユーザーが不適切または有害な UGC のフィルタリングを回避できます。
- UGC に関するガイドライン (利用規約や行動規範など) を、製品内またはタイトルの Web サイトでユーザーが利用できません。
- タイトルが、制限された UGC 権限を持つユーザーに対して、ゲーム モードやエクスペリエンス全体をブロックします。
コンテンツ パッケージと更新プログラム
このカテゴリの要件では、ゲームのパッケージ化の方法と、ゲームがアドオン コンテンツ パッケージとどのように連携する必要があるかを規定しています。XR-037: コンテンツ パッケージへの依存関係 *
ユーザーが基本ゲームのメイン機能やコンテンツを完了するために、アドオン コンテンツ (永続型または消費型) の購入を必須にしてはなりません。オプションのコンテンツ パッケージは、他のオプションのコンテンツ パッケージに依存してはなりません。つまり、あるコンテンツ パッケージを使用するために、追加のコンテンツ パッケージのダウンロードをユーザーに要求してはなりません。アドオン コンテンツに関連付けられた固有のコンテンツを含むゲームのセーブ データは、基本ゲームでも読み込めるか、読み込めない理由を説明する明確なメッセージを表示する必要があります。詳細情報
この要件の重要な点は次のとおりです。- 基本ゲームのメイン機能を完了するために、アドオン コンテンツの購入をユーザーに要求してはなりません。
- 別のコンテンツ パッケージを使用するために、追加のアドオン コンテンツの購入をユーザーに要求してはなりません。アドオン コンテンツは、他のアドオン コンテンツとは独立して使用できる必要があります。
- アドオン コンテンツに関連付けられた固有のコンテンツを含むゲームのセーブ データは、基本ゲームでも読み込めるか、読み込めない理由を説明する明確なメッセージを表示する必要があります。ベスト プラクティスとして、メッセージには、コンテンツを既に所有している場合はダウンロードを促すプロンプトを、所有していない場合は購入を検討するよう促すプロンプトを含める必要があります。
- マルチプレイヤー ゲームプレイに必要なアドオン コンテンツをサポートするタイトルは、そのコンテンツをインストールしていないユーザーに明確なメッセージを表示する必要があります。
実装ガイダンスとベスト プラクティス
理想的には、ユーザーが以前にアドオン コンテンツを使用してプレイし、そのコンテンツが現在削除されている状況をゲームが適切に処理し、ユーザーがゲームのセーブ データを読み込んで続行できるようにします。これが不可能な場合、ゲームは、ゲームのセーブ データを読み込むにはコンテンツをインストールする必要があることを示す明確なメッセージをユーザーに表示する必要があります。タイトルは、ユーザーがそのコンテンツの権利を持っているかどうかを照会し、次のいずれかを行うことができます。- 既に所有している場合は、特定のコンテンツをダウンロードするようユーザーに促します。
- 所有していない場合は、そのコンテンツの購入を検討するようユーザーに促します。
037-01 基本タイトルのセーブ データにおけるコンテンツ パッケージへの依存関係がないこと
テスト手順- XBOX プロフィールにサインインし、タイトルを起動します。
- 基本タイトルのすべての機能とコンテンツへのアクセスを試みます。アドオン コンテンツのダウンロードがユーザーに要求されないことを確認します。
- タイトル内で使用できる、利用可能なコンテンツ パッケージをダウンロードします。
- コンテンツ パッケージを読み込んで使用し、コンテンツに基づくゲームのセーブ データが作成されるところまで進めます。
- ホームに戻り、コンテンツ パッケージを削除します。
- タイトルを再度起動します。
- ゲームのセーブ データを正常に読み込んでゲームプレイを続行できること、または続行できない理由がユーザーに明確に通知されることを確認します。
- メッセージは明確で、問題のトラブルシューティング方法を具体的にユーザーに通知するものである必要があります。
- サポートされている他のすべてのコンテンツ パッケージで、手順 1 から 8 を繰り返します。
ユーザーは、アドオン コンテンツを購入しなくても、基本タイトルのメイン機能やコンテンツ、またはその両方を完了できる必要があります。ユーザーがコンテンツ パッケージを削除した後も、タイトルは正しく機能するか、正しく機能できない理由をユーザーに明確に通知する必要があります。 合格例
- ユーザーは、アドオン コンテンツを購入しなくても、基本タイトルに含まれるすべての機能とコンテンツを完了できます。ユーザーがコンテンツ パッケージを削除した後も、タイトルのすべての要素を問題なくプレイできます。
- コンテンツ パッケージによって提供される領域内でセーブ データを作成し、その後コンテンツ パッケージを削除すると、ゲームのセーブ データを読み込むにはコンテンツ x をインストールする必要があることを示す明確なメッセージがゲームによってユーザーに表示されます。タイトルは、ユーザーがそのコンテンツの権利を持っているかどうかを照会し、既に所有している場合は特定のコンテンツをダウンロードするようユーザーに促すか、所有していない場合はそのコンテンツの購入を検討するようユーザーに促すこともできます。
- 基本タイトルに含まれる機能やコンテンツを完了するために、ユーザーがアドオン コンテンツの購入を強制されます。手順 3 でユーザーがコンテンツ パッケージ 1 とコンテンツ パッケージ 2 をダウンロードした後、コンテンツ パッケージ 1 を削除すると、ゲーム内でコンテンツ パッケージ 2 を使用できなくなります。
- セーブ データにコンテンツへの依存関係が存在し、そのコンテンツがインストールされていないにもかかわらず、ゲームのセーブ データを読み込むにはコンテンツをインストールする必要があることを示す明確なメッセージがゲームによってユーザーに表示されません。
037-02 他のコンテンツ パッケージへの依存関係がないこと
テスト手順- XBOX プロフィールにサインインします。
- タイトルを起動します。
- タイトルがサポートするアドオン コンテンツを 1 つダウンロードします。
- タイトル内でそのコンテンツの使用を試みます。
- 手順 3 のコンテンツを使用するために、追加のコンテンツのダウンロードがユーザーに要求されないことを確認します。
- タイトルを終了し、手順 3 のコンテンツを削除します。
- タイトルがサポートする各コンテンツについて、手順 2 から 6 を繰り返します。
あるコンテンツ パッケージを使用するために、追加のコンテンツ パッケージのダウンロードをユーザーに要求してはなりません。コンテンツ パッケージは、それ単体で使用できる必要があります。 合格例
- 別のコンテンツ パッケージを使用するために、タイトルが追加のコンテンツのダウンロードをユーザーに要求しません。
- 別のコンテンツ パッケージを使用するために、ユーザーが追加のコンテンツのダウンロードを要求されます。
037-03 DLC への依存関係
テスト手順- XBOX プロフィールにサインインします。
- タイトルのダウンロード コンテンツ (DLC) をダウンロードします。
- ゲームプレイを進め、DLC を使用して進行状況を保存します。
- タイトルを終了します。
- ゲーム デバイス (本体、PC) から DLC を削除します。
- タイトルを起動し、保存された進行状況へのアクセスを試みます。
DLC を使用して作成されたゲームのセーブ データが存在し、その DLC がインストールされていない場合に、タイトルがその状況を適切に処理します。 合格例
- ユーザーは、保存された進行状況を読み込み、問題なくタイトルを操作できます。
- 保存されたゲームにアクセスするには特定の DLC が必要であることが、ユーザーに通知されます。
- DLC が存在しない場合に、タイトルが使用できなくなります。
- ユーザーが保存された進行状況にアクセスできず、その理由に関する通知も受け取りません。
037-04 マルチプレイヤー DLC
テスト手順- XBOX プロフィールにサインインします。
- タイトルを起動します。
- ゲーム デバイス A: マルチプレイヤー ゲームプレイで使用できる、利用可能なすべてのダウンロード コンテンツをダウンロードします。
- ゲーム デバイス A: ダウンロード コンテンツ (レベル、キャラクター、車、コースなど) を使用してゲーム セッションをホストします。
- ゲーム デバイス B: 考えられるすべての方法を使用して、ゲーム デバイス A が作成したゲーム セッションへの参加を試みます。
- ゲーム セッションに参加できない場合は、参加できない理由を説明する、またはユーザーが容易に推測できる明確な表示があることを確認します。
- すべてのゲーム モードについて、手順 3 から 6 を繰り返します。
- ゲーム デバイス B をホストにして、手順 3 から 6 を繰り返します。
マルチプレイヤー ゲームプレイに必要なダウンロード コンテンツをサポートするタイトルは、そのダウンロード コンテンツをインストールしていないユーザーに明確な表示を提供する必要があります。 合格例
- DLC の要件があるセッションに参加しようとしたユーザーが要件を満たしていない場合、適切なメッセージが表示され、問題を解決する方法 (ダウンロード、再ダウンロードなど) に関する情報が提供されます。
- アイコンやその他の画面上の要素、またはその両方を使用して、DLC の要件があるセッションに参加しようとしたユーザーが要件を満たしていない場合に明確な通知が表示され、問題を解決する方法に関する情報が提供されるか、ユーザーがそれを容易に推測できます。
- マルチプレイヤー マッチの DLC の要件を満たしているユーザーは、セッションに参加してプレイできます。
- マルチプレイヤー セッションの DLC の要件を満たしていないユーザーに、DLC の要件とその解決方法を示す明確な視覚的表示が提供されません。
- マルチプレイヤー セッションの DLC の要件を満たしているユーザー同士が一緒に参加できません。
ゲーム内ストアおよび Microsoft Store からの購入
このカテゴリの要件では、ゲーム内ストアおよび Microsoft Store から購入を行う方法を規定しています。価格設定、メタデータ、およびオファーに関するポリシーについては、ゲーム パブリッシング ガイドを参照してください。ユーザー プロファイル
このカテゴリの要件は、ゲームが XBOX のユーザー モデル、プロファイル、およびユーザー データの保存とどのようにやり取りするかに適用されます。XR-112: 初回のアクティブ化時および再開時のユーザーとコントローラーの確立 *
タイトルは、タイトル内でプライマリ ユーザーとして機能する 1 人以上のアクティブなユーザーを確立し、中断、スリープ、または休止状態から再開する際にそのユーザーを処理する必要があります。GDK では、タイトルは Simplified User Model または Advanced User Model のいずれかを使用してこれを行います。 GDK Simplified User Model のタイトル GDK の Simplified User Model は、タイトルに代わって既定のユーザーの取得を処理します。タイトルは引き続き、コントローラーがユーザーに割り当てられていることを確認し、そのコントローラーをゲームの入力に使用する責任があります。既定のユーザーにコントローラーが割り当てられていない場合、タイトルは XUserFindControllerForUserWithUiAsync を使用してシステム ダイアログを表示し、コントローラーを選択してプレイヤーからの入力の受け付けを開始する必要があります。 GDK Advanced User Model 初回のアクティブ化時、ゲームはゲームの設計と好みに基づいて、タイトルを起動したユーザーを使用するか、明示的にユーザーの選択を求めるかのいずれかの方法で、初期ユーザーを決定できます。 タイトルは、そのユーザーのプロファイルに対して最初のプロファイル関連のアクション (進行状況や設定の保存など) が実行される前に、アクティブなユーザーを示す必要があります。 Advanced User Model を使用するすべての Microsoft Game Development Kit (GDK) タイトルは、アクティブなユーザーを変更するためのアカウント ピッカーへのエントリ ポイントを提供する必要があります。 タイトルが中断、スリープ、または休止状態から再開されたとき、タイトルはユーザー/コントローラーのペアリングを検証し、以前のユーザーのセッションを再開するか、新しいユーザーを取得することで、適切に対応する必要があります。[!Note] 次の表は、GDK Simplified User Model または GDK Advanced User Model を使用する場合に、XR-112 のどのテスト ケースがタイトルに適用されるかを示しています。
112-02 初期ユーザーとコントローラー
テスト手順- プロファイル A にサインインし、タイトルを起動します。
- アクティブなユーザーがタイトルを操作できることを確認します。
- サインインしているプロファイルがない状態で手順 [1] を繰り返し、タイトルがアクティブなユーザーの確立を求めることを確認します。
- アクティブなユーザーを確立し、そのユーザーがタイトルを操作できることを確認します。
タイトルは、タイトルを起動したコントローラー/ユーザーのペアをアクティブなユーザーとして設定するか、コントローラーとユーザーを識別するためのエンゲージメント プロンプトを表示するか、サインインするためのアカウント ピッカーを表示する必要があります。 合格例
- タイトルが、タイトルを起動したコントローラー/ユーザーのペアをアクティブなユーザーとして設定する。
- タイトルが、コントローラーとユーザーを識別するためのエンゲージメント プロンプトを表示する。
- タイトルが、サインインするためのアカウント ピッカーを表示する。
- タイトルで、最初に使用したコントローラーでユーザーがタイトルを操作できない。
- ユーザーがサインインしていない状態で起動したときに、タイトルがアクティブなユーザーの確立をユーザーに求めない。
112-03 サインインしているユーザーがいない
テスト手順- サインインしているユーザーがいないことを確認します。
- タイトルを起動し、ユーザー データの保存をサポートするすべてのモードに入ります。
- 各モードで、データの損失が発生する前にユーザーにサインインの機会が提供されることを確認します。
- サインインの機会をキャンセルし、進行状況が保存されないことを示す警告をタイトルが表示することを確認します。
タイトルが通常はユーザー データまたはゲームの状態を保存するモードにある場合、タイトルはユーザーにサインインの機会を提供する必要があります。ユーザーがサインインせずにゲームプレイを続行する場合、タイトルは進行状況が保存されないことをユーザーに通知する必要があります 合格例
- サインインしていないユーザーが、通常はユーザー データまたはゲームの状態を保存するタイトルのモードにアクセスしたときに、サインインを求められる。
- サインインせずにモードを続行した場合、進行状況が保存されないことがユーザーに通知される。
- 通常はユーザー データまたはゲームの状態を保存するモードで、サインインせずにそのモードを続行した場合に進行状況が保存されないことがユーザーに通知されない。
- データの損失がすでに発生した後で、進行状況を保存できないことがユーザーに通知される。
112-04 アクティブなユーザーの表示
テスト手順- そのタイトルを以前に起動したことがなく、関連付けられたセーブ データがないプロファイルにサインインします。
- タイトルを起動します。
- プロファイル関連のアクションを実行する前に、タイトルが UI 内でアクティブなユーザーを識別することを確認します。「プロファイル関連のアクション」の例には、ユーザーのセーブ ゲームや設定の変更、ユーザーのプロファイルへのデータの保存、実績の付与、ユーザーの統計情報の書き込み、またはユーザー データや状態のその他のローカルまたはクラウドでの使用や操作が含まれます。
- セーブを作成します。
- タイトルを再起動し、プロファイル関連のアクションを実行する前に、タイトルが UI 内でアクティブなユーザーを識別することを確認します。
- XBOX Live から切断します。
- タイトルを再起動し、プロファイル関連のアクションを実行する前に、タイトルが UI 内でアクティブなユーザーを識別することを確認します。
タイトルは、最初のプロファイル関連のアクションの前に、現在のユーザー コンテキストを示す必要があります。 合格例
- タイトルが、プロファイル関連のアクションを実行する前に、タイトル内でユーザーのゲーマータグまたはゲーマーアイコン (あるいはその両方) を表示する。
- ユーザー プロファイルを使用しないタイトルが、アクティブなユーザーを示さない。
- タイトルが、複数のユーザーをサポートするゲーム モードで複数のアクティブなユーザーを表示する。
- タイトルが、プロファイル関連のアクションを実行する前に、タイトルのアクティブなユーザーを示さない。
112-05 アカウント ピッカーへのアクセス
テスト手順- プロファイルにサインインし、タイトルを起動します。
- タイトルで、アクティブなユーザーがタイトル内のアカウント ピッカーにアクセスし、別のプロファイルを選択できることを確認します。
タイトルは、アクティブなユーザーを変更するために、ユーザーがタイトル内のアカウント ピッカーにアクセスできるようにする必要があります。 合格例
- タイトルで、ユーザーがタイトル内のアカウント ピッカーにアクセスできる。
- タイトルで、ユーザーがタイトル内のアカウント ピッカーにアクセスできない。
112-06 プロファイル変更の処理
テスト手順- プロファイルにサインインし、タイトルを起動します。
- アカウント ピッカーにアクセスし、別のプロファイルを選択します。
- タイトルが適切に反応し、アクティブなユーザーのコンテキストを新しいプロファイルに切り替えることを確認します。
- アカウント ピッカーにアクセスできるタイトル内のすべての場所で、手順 1 から 4 を繰り返します。
タイトルは、ユーザーが別のユーザーのコンテキストにシームレスに切り替えられるようにする必要があります。 合格例
- タイトルが、アクティブなユーザーを変更するとデータが失われる可能性があることをユーザーに通知し、アカウント ピッカーに進む前にユーザーに確認を求める。
- タイトルが、新しいアクティブなユーザーのコンテキストに適切に更新される。
- タイトルが、新しいアクティブなユーザーのコンテキストに適切に更新されない。
112-08 中断、スリープ、または休止状態中のユーザー変更
XBOX 本体でゲームを中断する方法、および PC やハンドヘルド デバイスをスリープ状態や休止状態にする方法については、「中断、スリープ、休止状態のテスト」を参照してください。 このテスト ケースでは、XBOX 本体の場合、サインインしているユーザーを変更できるように、手順 2 で設定アプリを起動して 10 分間フォーカスを維持することでゲームを中断します。PC およびハンドヘルド デバイスの場合は、手順 2 でシステムをスリープ状態または休止状態にします。 テスト手順- プロファイルにサインインし、ゲームを起動します。
- ゲーム全体のさまざまな場所で、次の操作を行います。
- XBOX 本体では、設定アプリを起動して 10 分間フォーカスを維持することで、ゲームを中断します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態または休止状態にします。
- ゲームが中断、スリープ、または休止状態にある間に、アクティブなユーザーを変更します。XBOX 本体では、プロファイル A からサインアウトし、プロファイル B にサインインします。PC およびハンドヘルド デバイスでは、別の Windows ユーザー アカウントに切り替えます。
- デバイスの電源を再びオンにした状態でゲームを再開し、ゲームが新しいアクティブなユーザーに応じて適切に反応することを確認します。
- 新しいアクティブなユーザーでゲームプレイに入り、そのユーザーが進行できることを確認します。
- ゲームが中断、スリープ、または休止状態から再開されたとき、ゲームは以前に関与していたすべてのユーザーが引き続きゲーム デバイスにサインインしているかどうかを確認する必要があります。
- 再開時に、ゲームがアクティブなユーザーのコンテキストをプロファイル B に自動的に切り替える。
- ゲームがプロファイル A をゲームから自動的に削除するか、新しいユーザーを再確立し、その新しいユーザーの状態をゲームプレイに使用する。
- ゲームが更新されず、アクティブなユーザーとしてのプロファイル A がコンテキストから削除されない。
- 新しいプロファイルが選択された後も、ゲームがプロファイル A の状態をゲームプレイに使用し続ける。
XR-115: ゲームプレイ中のユーザーまたはコントローラーの追加と削除 *
複数のユーザーをサポートするタイトルは、ユーザーの追加と削除、またはアクティブなプレイヤーにコントローラーが割り当てられていないシナリオやゲームプレイ中にコントローラーが失われるシナリオに対して、次のように対応する必要があります。 コントローラーの追加:タイトルが初期ユーザーとコントローラーを選択または受け取った後、必要に応じて他のコントローラーからの入力を受け付けることができます。マルチプレイヤー エクスペリエンスをサポートするタイトルは、追加のプレイヤーまたはコントローラーをゲームプレイにどのように追加し、
XUserAddAsync を使用してユーザーにバインドするかを検討する必要があります。たとえば、「A を押して参加」と表示したり、プレイヤー選択画面にコントローラーのシルエットを表示したりします。
コントローラーの削除:ゲームプレイ中に、ゲームプレイを操作しているプレイヤーのコントローラーが取り外された場合、タイトルは新しいアクティブなコントローラーを再確立できるようにする必要があります (たとえば、「A を押して続行」と表示する、または有効なコントローラーを持つアクティブなユーザーについて、ERA で
ControllerPairingChanged を受け取るか、GDK で XUserDeviceAssociationChangedCallback イベントを受け取るなど)。また、タイトルは XUserFindControllerForUserWithUiAsync を使用してシステム UX を呼び出し、コントローラーをユーザーとペアリングしてゲームプレイに戻るようユーザーに促すこともできます。
ユーザーの追加:GDK を使用する場合 (Simplified User Model と Advanced User Model のどちらを使用する場合でも)、ユーザーはタイトルが
XUserAddAsync を呼び出したときにのみ追加されます。
プライマリ ユーザーの削除:GDK Advanced User Model を使用するタイトルでは、プライマリ ユーザーが (ガイド、SPOP、またはその他の手段によって) サインアウトした場合、タイトルはプレイヤーをゲームから削除するか、ユーザーとアクティブなコントローラーを再確立する必要があります。 GDK Simplified User Model を使用するタイトルでは、プライマリ プレイヤーが削除されると、タイトルはシステム レベルで中断されます。 すべてのシナリオで、タイトルはゲームを良好な状態にすることで削除/終了を処理します。これには、接続ストレージへの書き込み、関連するすべての MPSD セッションへのユーザーの退出の通知、および新しいユーザーが追加されなかった場合にユーザーをサインインに適切な場所に移動させることが含まれます。 追加/セカンダリ ユーザーの削除:
タイトルはこのイベントを独自の裁量で処理できます。通常は、プレイヤーをゲームプレイから直ちに削除するか、使用されているマルチプレイヤー エクスペリエンスのコンテキストで再参加するようプレイヤーに促します。
[!Note] 次の表は、GDK Simplified User Model または GDK Advanced User Model を使用する場合に、XR-115 のどのテスト ケースがタイトルに適用されるかを示しています。
115-02 コントローラーの削除
テスト手順- プロファイルにサインインし、タイトルを起動します。
- タイトルの使用中のさまざまな時点で、コントローラーから電池を取り外します。
- コントローラーに電池を戻し、ユーザーが引き続きタイトルを使用できることを確認します。
- 電池を戻す代わりに 2 台目のコントローラーを接続して、手順 1 から 3 を繰り返します。
タイトルは、コントローラーの削除と追加に正しく対応する必要があります。 合格例
- コントローラーの削除または追加の後も、アクティブなユーザーが引き続きタイトルを使用できる。
- 新しいアクティブなコントローラーを再確立するようユーザーに促される (たとえば、「A を押して続行」と表示する、またはシステム UX を呼び出すなど)。
- コントローラーが削除された後、ユーザーがタイトルを引き続き使用できない。
115-03 ユーザーの削除
テスト手順- プロファイル A にサインインし、他のプロファイルがサインインしていないことを確認します。
- タイトルを起動し、ゲームプレイに進みます。
- タイトルの使用中のさまざまな時点で、プロファイル A からサインアウトします。
- タイトルがアカウント ピッカーを呼び出すか、ユーザーをフロント エンドに戻すことを確認します。
- 可能な場合は、次の方法でタイトルを操作します。
- プロファイル A にサインインし、タイトルがユーザーのエクスペリエンスをそれ以上中断しないことを確認します。
- プロファイル B にサインインし、タイトルが新しいユーザーのコンテキストに更新されることを確認します。
タイトルは、プレイヤーをゲームから削除するか、ユーザーとアクティブなコントローラーを再確立する必要があります。プレイヤーがゲームから削除された場合、タイトルは良好な状態のままにする必要があります。これには、接続ストレージへの書き込み、関連するすべての MPSD セッションへのユーザーの退出の通知、および新しいユーザーが追加されなかった場合にユーザーをサインインに適切な場所に移動させることが含まれます。 合格例
- タイトルがプレイヤーをゲームから削除し、フロント エンドに戻る。
- タイトルで、ユーザーが新しいユーザーを再確立でき、関連するユーザー コンテキストに正しく更新される。
- タイトルがユーザーの状態の変化に反応しない。
- 新しいプロファイルが選択された後も、タイトルがプロファイル A のユーザー状態を使用し続ける。
XR-045: XBOX network とアカウント特権 *
XBOX network は、ユーザー自身とその子どもに対して、期待されるレベルのプライバシーとオンラインの安全性を提供します。その約束を果たすために、タイトルは XBOX network サービス上またはタイトル エクスペリエンス内で特定のアクションを実行するための特権を XBOX network サービスで確認する必要があります。 特権の確認と順守はすべてのアカウントに適用されますが、特に子どものアカウントに対するエクスペリエンスと期待事項に注意することが重要です。子どものアカウントでは、年齢に基づく既定値や子どもの家族の管理者 (保護者) による構成のいずれかまたは両方によって、特定のアクティビティが制限され、ブロックされる場合があります。子どもは自分で変更を行うことはできませんが、特定のアクティビティについては、タイトルが必要なシステム UI を呼び出し、若いプレイヤーが関連するアクティビティに対する承認フローを通じて例外をリクエストできるようにすることが可能であり、またそれが期待されます。たとえば、このような状況では、若いプレイヤーがマルチプレイヤーをグローバルにブロックされていても、家族の保護者がシステム UI を通じて特定のタイトルのマルチプレイヤーを承認できます。その場合、子どもはその特定のタイトルでこのゲーム モードにアクセスできるようになり、またアクセスできる必要があります。
無料プレイのタイトル、デモ、またはベータ版は、Game Pass のサブスクライバーではないプレイヤーに対してマルチプレイヤー ゲームプレイ (ID 254) を許可するように構成できます。これはサービス側の構成によって行われ、Microsoft の担当者に連絡することで開始できます。これらのタイトルは、ペアレンタル コントロールとプレイヤーの選択が尊重されるように、引き続きマルチプレイヤー ゲームの特権を確認する必要があります。
045-01 ユーザー特権の尊重
テスト手順- XBOX プロファイルにサインインし、タイトルを起動します。
- XR の備考で示されている各特権について、タイトルが関連するアクティビティをサポートしているかどうかを特定します。
- 手順 2 で特定した該当する各特権の可能な設定ごとに、次の操作を実行します。
- タイトルを終了し、その特権に関するユーザーの設定を変更します。
- 本体を再起動します。
- 同じプロファイルにサインインし、タイトルを起動します。
- タイトルの関連するすべての領域にアクセスし、その特権に関連するタイトルのすべての機能を使用して、タイトルがユーザーの現在の特権設定を尊重していることを確認します。
- Silver の XBOX プロファイルを使用して、すべてのオフラインおよびオンラインの領域へのアクセスを試みます。
タイトルは、ユーザーの特権設定を順守する必要があります。 合格例
- タイトルがユーザーの特権設定を尊重する。
- タイトルが、部分的に許可された特権設定を、その特権が無効/不許可であるかのように扱う (たとえば、ユーザー生成コンテンツ (UGC) の特権が「フレンドのみ」に設定されている場合、タイトルはその特権が「ブロック」に設定されているかのように動作する)。
- XDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して、特権の競合をユーザーに警告する (タイトルは
Store::Product::CheckPrivilegeAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルは、ユーザーが参加できないことを知らせる情報メッセージを表示する。 - GDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して、特権の競合をユーザーに警告する (タイトルは
XUserCheckPrivilegeAPI とXUserResolvePrivilegeWithUiAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルは、ユーザーが参加できないことを知らせる情報メッセージを表示する。 - XSAPI を使用するタイトルの場合、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示する。
- タイトルがユーザーの特権設定を保持し、特権が変更された後にユーザーの実際の特権を反映しない。
- タイトルが、部分的に許可された特権設定を、その特権が最も制限の緩い設定に設定されているかのように扱う (たとえば、ユーザー生成コンテンツ (UGC) の特権が「フレンドのみ」に設定されている場合、タイトルはその特権が「許可」に設定されているかのように動作する)。
- XDK または GDK を使用するタイトルの場合、タイトルがゲーム内メッセージを使用して特権の競合をユーザーに警告し、システム UI を表示しない。
- XSAPI を使用するタイトルの場合、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示しない。
045-02 ユーザー特権の尊重 - XBOX Family
テストのセットアップと構成- 次の Microsoft アカウントを含む XBOX Family:
- 管理者として指定された大人 (18 歳以上)。
- 子どもの既定 の特権設定を持つ子ども (13 歳未満):
参考資料とリンク
テスト手順
- 大人と子どもの Microsoft アカウントにサインインし、子どものアカウントでタイトルを起動します。
- XR の備考で示されている各特権について、タイトルが関連するアクティビティをサポートしているかどうかを特定します。
- 手順 2 で特定した該当する各特権の可能な設定ごとに、次の操作を実行します。
- アカウントの特権に基づいて、関連するアクティビティが許可/不許可されていることを確認します。たとえば: タイトルがマルチプレイヤーをサポートしており、子どものアカウントでマルチプレイヤーの特権がブロックされているとします。タイトルが子どものすべてのマルチプレイヤー アクティビティをブロックし、子どもがマルチプレイヤー アクティビティに参加しようとしたときに保護者の許可を求めるプロンプト (システム TCUI) が表示されることを確認します。
- タイトルを終了し、タイトルがサポートする特権アクティビティについて、ユーザーの子どもの特権設定をブロックから許可に変更します。たとえば: マルチプレイヤーまたはユーザー生成コンテンツをブロックから許可に変更します。
- 本体を再起動します。
- 同じプロファイルにサインインし、タイトルを起動します。
- タイトルの関連するすべての領域にアクセスし、その特権に関連するタイトルのすべての機能を使用して、タイトルがユーザーの現在の特権設定を尊重していることを確認します。たとえば: タイトルがマルチプレイヤーをサポートしているとします。子どもはブロックされていましたが、現在はマルチプレイヤーが許可されています。タイトルは、子どもがマルチプレイヤー ゲーム モードにアクセスすることを適切に許可します。
- 保護者のアカウントが本体にサインインしていない状態で、手順 2 から 3 を繰り返します。
タイトルは、XBOX Family のすべてのメンバーの特権設定を尊重する必要があります。 合格例
- タイトルが子どもの特権設定を尊重する。
- アクティビティの特権が許可されている場合、タイトルが子どもにそのアクティビティへの参加を許可する。
- アクティビティの特権がブロックされている場合、タイトルが子どもにそのアクティビティへの参加を許可しない。
- ブロックされているアクティビティについて、保護者が (保護者の許可 UI を通じて) そのアクティビティの許可を与えた後、タイトルが子どもにそのアクティビティへの参加を許可する。
- ブロックされているアクティビティについて、保護者が (保護者の許可 UI を通じて) そのアクティビティの許可を与えていない場合、タイトルが子どもにそのアクティビティへの参加を許可しない。
- タイトルが、部分的に許可された特権設定を、その特権が無効/不許可であるかのように扱う (たとえば、ユーザー生成コンテンツ (UGC) の特権が「フレンドのみ」に設定されている場合、タイトルはその特権が「ブロック」に設定されているかのように動作する)。
- XDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して、特権の競合をユーザーに警告する (タイトルは
Store::Product::CheckPrivilegeAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルは、ユーザーが参加できないことを知らせる情報メッセージを表示する。 - GDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して、特権の競合をユーザーに警告する (タイトルは XUserCheckPrivilege API と
XUserResolvePrivilegeWithUiAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルは、ユーザーが参加できないことを知らせる情報メッセージを表示する。 - XSAPI を使用するタイトルの場合、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示する。
- タイトルが子どもの特権設定を尊重しない。
- 例: タイトルがマルチプレイヤーをサポートしており、マルチプレイヤーがブロックされている子どもにマルチプレイヤー ゲーム モードへのアクセスを許可する。
- タイトルが、特権の競合を子どもに警告して知らせるための適切な UI を呼び出さない。
- 例: タイトルがマルチプレイヤーをサポートしているが、特権がブロックされているときに、子どもに保護者の許可を求めるプロンプトが一切表示されない。
- アクティビティの特権がブロックされている場合に、タイトルが子どもにそのアクティビティへの参加を許可する。
- アクティビティの特権が許可されている場合に、タイトルが子どもにそのアクティビティへの参加を許可しない。
- ブロックされているアクティビティについて、保護者が (保護者の許可 UI を通じて) そのアクティビティの許可を与えていないにもかかわらず、タイトルが子どもにそのアクティビティへの参加を許可する。
- ブロックされているアクティビティについて、保護者が (保護者の許可 UI を通じて) そのアクティビティの許可を与えているにもかかわらず、タイトルが子どもにそのアクティビティへの参加を許可しない。
- タイトルがユーザーの特権設定を保持し、特権が変更された後にユーザーの実際の特権を反映しない。
- 例: タイトルがマルチプレイヤーをサポートしているとします。子どものアカウントではマルチプレイヤーがブロックされていますが、保護者がシステム UI を通じて許可を与えます。特権が付与されたにもかかわらず、タイトルがマルチプレイヤーをブロックし続ける。
- タイトルが、部分的に許可された特権設定を、その特権が最も制限の緩い設定に設定されているかのように扱う。たとえば: ユーザー生成コンテンツ (UGC) の特権が「フレンドのみ」に設定されている場合、タイトルはその特権が「許可」に設定されているかのように動作する。
- XDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して特権の競合をユーザーに警告しない (タイトルは
Store::Product::CheckPrivilegeAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示しない。 - GDK を使用するタイトルの場合、タイトルがシステム UI を呼び出して特権の競合をユーザーに警告しない (タイトルは
XUserCheckPrivilegeAPI とXUserResolvePrivilegeWithUiAsyncAPI を使用する必要がある)。システム UI を呼び出せない場合 (特権 252、189、247)、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示しない。 - XSAPI を使用するタイトルの場合、タイトルが、ユーザーが参加できないことを知らせる情報メッセージを表示しない。
XR-046: 表示名とゲーマーアイコン *
XBOX 本体では、タイトルはゲーマータグをプライマリの表示名として使用する必要があります。 設計上の選択に基づいて、タイトルはプレイヤーのモダン ゲーマータグとクラシック ゲーマータグのどちらかを選択できます。モダン ゲーマータグは GDK で使用でき、クラシック ゲーマータグは ERA と GDK の両方で使用できます。 本体以外のプラットフォームでは、必須ではありませんが、ゲーム タイトルのエクスペリエンス内の適切な場所で XBOX network プレイヤーのゲーマータグを使用することをお勧めします。 ゲーマータグは、使用するゲーマータグの種類に基づいて、タイトル内で正しく表示される必要があります。 モダン ゲーマータグ一意のモダン ゲーマータグの 16 文字すべてを表示します。これには、最大 12 文字のモダン ゲーマータグと、それに続く # とサフィックス番号 (存在する場合) が含まれます。例: Major Nelson (サフィックスなし) または Major Nelson#881。モダン ゲーマータグを使用する場合は、モダン ゲーマータグで使用できるすべての Unicode 文字範囲をサポートする必要があります。モダン ゲーマータグの詳細とベスト プラクティスについては、GDK 開発ドキュメントの記事「モダン ゲーマータグの概要」を参照してください。 クラシック ゲーマータグ
クラシック ゲーマータグの 15 文字すべてを正しく表示します。クラシック ゲーマータグには、ASCII 文字 a-z、A-Z、0-9、コンマ (,)、およびスペース (ASCII 文字 0x20) のみが含まれます。例: Major Nelson GDK では、これらの項目は XUserGetGamertag API を使用して返されます。ERA では、ゲーマータグは
GetUserProfileAsync API を使用して取得されます。
046-01 表示名とゲーマーアイコン
必要なツール- GDK の XblTestAccountGui.exe
次の名前ごとに 4 つのテスト アカウントを作成し、XblTestAccountGui.exe を使用して各テスト アカウントのゲーマータグを次のように変更します。
- สฐ众нь컴퓨퓨
- आथाώঙぁヺ
- øÜêþЯЂў
- gttest1
- タイトル内でゲーマータグが表示される場所を見つけて表示します。
- 手順 [1] で特定したすべての領域で、ユーザーのゲーマータグがどのように表示されるかを確認します。
- タイトルにユーザーの画像が表示される場合は、各アカウントに対して正しい Microsoft アカウントの画像またはゲーマーアイコンが表示されることを確認します。
ユーザーのゲーマータグが正しく表示される必要があります。 合格例
- モダン ゲーマータグを使用する場合に、ゲーマータグで Unicode 文字 (自動生成されたサフィックスを含む) が正しく表示される。
- クラシック ゲーマータグを使用する場合に、ゲーマータグが正しく表示される。
- Unicode 文字が空白文字として表示されるため、ゲーマータグがまったくレンダリングされない。
- クラシック ゲーマータグを使用する場合に、ゲーマータグが正しく表示されない。
XR-047: ユーザー プロファイルへのアクセス *
タイトルは、ユーザーの表示名が列挙される場所であればどこでも、他の XBOX network ユーザーのゲーマーカード (ユーザー プロファイル) にアクセスするオプションをユーザーに提供する必要があります。047-01 ユーザー プロファイルへのアクセス
テスト手順- デバイス 1 と 2: タイトルを起動します。
- デバイス 1 と 2: XBOX プロファイルにサインインします。
- デバイス 1: XBOX マルチプレイヤー ゲーム セッションをセットアップします。
- デバイス 2: 本体 1 で作成されたゲーム セッションを見つけて参加します。
- デバイス 2 がゲーム セッションに参加した後、次の点を確認します。
- ゲーム前のロビーから、ゲーマータグまたはユーザー名を選択して、別の XBOX ユーザーのゲーマーカードにアクセスします。
- ゲームプレイ中に、ユーザーのユーザー名またはゲーマータグを選択して、別の XBOX ユーザーのゲーマーカードへのアクセスを試みます (タイトルによっては、これができる場合とできない場合があります)。
- ゲーム後の統計情報画面から、ユーザーのユーザー名またはゲーマータグを選択して、別の XBOX ユーザーのゲーマーカードにアクセスします。
- ランキングの領域から、ユーザーのユーザー名またはゲーマータグを選択して、別の XBOX ユーザーのゲーマーカードにアクセスします。
- ゲーマータグが一覧表示されるその他の領域を見つけ、ユーザーのユーザー名またはゲーマータグを選択して、別の XBOX ユーザーのゲーマーカードへのアクセスを試みます。
ユーザーが他の XBOX ユーザーのゲーマーカード情報を表示できることが期待されます。 合格例
- ゲーマータグが表示され、UI ナビゲーションが有効になっているすべての場所で、ユーザーが別の XBOX ユーザーのゲーマーカードにアクセスできる。
- UI ナビゲーションが有効かどうかにかかわらず、ランキング、セッション ロビー、ゲーム後の統計情報、およびその他のゲーム内メニューで、ユーザーが別の XBOX ユーザーのゲーマーカードにアクセスできる。
- ゲーマータグが表示され、UI ナビゲーションが使用できるいずれかの場所で、ユーザーが別の XBOX ユーザーのゲーマーカードにアクセスできない。
- UI ナビゲーションが有効かどうかにかかわらず、ランキング、セッション ロビー、ゲーム後の統計情報、およびその他のゲーム内メニューで、ユーザーが別の XBOX ユーザーのゲーマーカードにアクセスできない。
- ゲーマータグが表示され、UI ナビゲーションが有効になっているいずれかの場所で、ユーザーが別の XBOX ユーザーのゲーマーカードにアクセスできない。
XR-048: プロファイル設定の使用 *
XBOX network は、XBOX ユーザー プロファイル情報の信頼できる情報源です。これをサポートするために、タイトルは、プロファイル データ、設定、ゲーマータグなど、XBOX network から取得したユーザーの情報を、ネットワーク切断のシナリオをサポートすることを目的としたローカルに保存されたキャッシュを超えて保存してはなりません。オフライン キャッシュは、次にサービスに接続できたときに更新する必要があります。048-01 プロファイル設定の使用
構成- XBOX デバイス 2 台
- プロファイルを選択し、セーブを作成します。
- ゲーマータグやアカウント名の更新など、ユーザー プロファイル データを変更します。
- タイトルを起動し、手順 [2] で作成したセーブを読み込みます。
- ゲームプレイ中に表示されるユーザー プロファイル データが変更されており、セーブ ゲームに保存されていないことを確認します。
- (タイトルによって自動的に作成された) ゲーマータグへの参照がすべて更新されていることを確認します。これには、サーバーでホストされる機能上の参照と、タイトル内の参照の両方が含まれます。
- 2 台目のデバイスでタイトルを起動し、更新されたゲーマータグが正しく表示されることを確認します。
ユーザー プロファイル データを保存してはなりません。たとえば、タイトルがゲーム内 (ウェルカム メッセージなど) または XBOX 以外のサーバー (アップロードされたデータの名前付けなど) でゲーマータグを使用する場合、ユーザーがゲーマータグを変更したときにそれが保持されてはなりません。これは、ユーザーがゲーマータグを手動で入力した場合には適用されません。 合格例
- ユーザー プロファイル データと設定が変更された後、すべての表示で更新される。
- リプレイ、セーブ、オプション、マップ、チームなどのローカルに保存されたセーブ データについて、タイトル内または XBOX Home で、タイトルがユーザーの更新されたゲーマータグまたは Microsoft アカウント名を表示しない。
- タイトルが、ゲーム クリップ、リプレイ、ランキングなどの永続的な投稿や、メッセージ、掲示板の投稿、ユーザー チャレンジ、コスチューム、テーマ、カラーリング、トーナメント、リーグなどのその他のカスタム投稿について、ユーザーのゲーマータグを更新しない。 注: これは、新しい投稿と以前に作成された投稿の両方に適用されます。
- タイトルが、リプレイ、セーブ、オプション、マップ、チームなどのユーザーのセーブ データにユーザーのゲーマータグを保存し、その結果、ユーザーがゲーマータグまたはアカウント名を変更するとセーブ データが使用できなくなる。
XR-052: ユーザー状態、タイトル セーブの場所、ローミング、依存関係 *
タイトルは、進行状況、保存された状態、設定、実績、その他の報酬を、その進行状況を記録したユーザー、その設定を選択したユーザー、またはその報酬を獲得したユーザーに関連付ける必要があります。タイトルは、ユーザー変更の通知を適切に処理することでこれを実現します。タイトルは、サインインしていないユーザーの状態を保存しないようにする必要があります。ゲームのセーブ データは、共有コンテンツやローカル ストレージに依存してはなりません。 プラットフォーム、デバイス、本体の世代のいずれかまたは複数にわたって同じ TitleID を使用するゲームの場合、ユーザーが XBOX network にサインインしているときは、ゲームのセーブの進行状況が次のようにローミングする必要があります。- 同じプラットフォーム内 (XBOX 本体)。
- 同じプラットフォーム上のデバイス間 (たとえば、XBOX One と XBOX One S)。
- デバイス プラットフォームの世代間 (たとえば、XBOX One と XBOX Series X|S)。
- Windows プラットフォームの PC 間 (たとえば、2 台の異なる PC 間)。
- ゲームが XPA の場合は、Windows プラットフォームの PC と XBOX 本体プラットフォームの間 (たとえば、Windows と XBOX Series X|S)。
- XPA 以外のゲームの場合、Windows プラットフォームの PC と XBOX 本体プラットフォームの間 (たとえば、Windows と XBOX Series X|S) のローミングは必須ではありませんが、プレイヤーのエクスペリエンスをサポートするために推奨されます。
- Microsoft 以外のプラットフォーム (たとえば、iOS、Android、Switch、PlayStation®) の場合、ゲームのセーブのローミングは必須ではありませんが、プレイヤーのエクスペリエンスをサポートするために推奨されます。
詳細情報
共有コンテンツとは、ゲームのセーブが読み込まれたときに、ローミング先の本体に存在しない可能性があるコンテンツ (ゲームのアドオンなど) です。このコンテンツは、現在サインインしているユーザーによってダウンロードされていないか、そのユーザーが所有していないために、使用できない場合があります。 GDK を使用する開発者は、XGameSave、XGameSaveFiles、または PlayFab Game Saves を使用して、これらの要件を簡単に実装できます。
- GDK を使用したゲームの状態の保存については、「ゲームのセーブ」を参照してください。
- GDK を使用したゲームの状態の管理とデータの保存については、「XBOX Game Life Cycle」を参照してください。
[!Note] 次の表は、GDK Simplified User Model または GDK Advanced User Model を使用する場合に、どのテスト ケースがタイトルに適用されるかを示しています。Simplified User Model と Advanced User Model の使用に関する詳細については、XR-112 を参照してください。
052-01 ユーザーのサインインとサインアウト
テスト手順- プロファイル A に、ゲームの進行状況とユーザー設定を含むセーブ データがあることを確認します。
- プロファイル B にセーブ データがないことを確認します。
- プロファイル A にサインインし、タイトルを起動します。次を含む (ただしこれらに限定されない) タイトルのすべての領域にアクセスして、すべてのセーブ データが保持されていることを確認します。
- シングルプレイヤーまたはマルチプレイヤーのゲーム セッション
- メニュー
- ビデオまたはオーディオの再生
- プロファイル A からサインアウトし、プロファイル B にサインインします。
- 手順 3 で検証したタイトルのすべての領域に再度アクセスして、タイトルがプロファイル B のユーザーの進行状況、保存された状態、設定、実績、またはその他の報酬を正しく更新することを確認します。
- ゲームプレイを開始してセーブの進行状況を作成し、プロファイル B のユーザー設定を変更します。
- タイトルを終了して再起動し、手順 6 のセーブ データが正確に反映されていることを確認します。
- プロファイル B からサインアウトします。
- プロファイル A からセーブ データを「すべての場所」から削除し、手順 3 から 7 を繰り返します。
プライマリ ユーザーの変更は、タイトルによって適切に処理される必要があります。 合格例
- ユーザーの変更後、ユーザーの進行状況、保存された状態、設定、実績、またはその他の報酬が正しいユーザーに関連付けられる。
- ユーザーの変更後、タイトルがユーザーの進行状況、保存された状態、設定、実績、またはその他の報酬を誤ってユーザーに関連付ける。
- タイトルが最初のユーザーにセーブ データを付与し続ける。
- 以前のユーザーがサインアウトした後に、新しいユーザーがそのユーザーのセーブ データ、状態、またはプロファイルを変更できる。
052-02 中断、スリープ、休止状態中のユーザー変更
XBOX 本体でゲームを中断する方法、および PC やハンドヘルド デバイスをスリープ状態や休止状態にする方法については、「中断、スリープ、休止状態のテスト」を参照してください。 このテスト ケースでは、XBOX 本体の場合、サインインしているユーザーを変更できるように、手順 2 で設定アプリを起動して 10 分間フォーカスを維持することでゲームを中断します。PC およびハンドヘルド デバイスの場合は、手順 2 でシステムをスリープ状態または休止状態にします。 テスト手順- プロファイルにサインインし、ゲームを起動します。
- ゲーム全体のさまざまな場所で、次の操作を行います。
- XBOX 本体では、設定アプリを起動して 10 分間フォーカスを維持することで、ゲームを中断します。
- PC およびハンドヘルド デバイスでは、システムをスリープ状態または休止状態にします。
- アクティブなユーザーを変更します。XBOX 本体では、プライマリ ユーザーをサインアウトし、別のユーザーとしてサインインします。PC およびハンドヘルド デバイスでは、別の Windows ユーザー アカウントに切り替えます。
- 新しいユーザーを使用してタイトルを起動し、以前のユーザーの場所から続行を試みます。
- タイトルのすべての領域で手順 1 から 4 を繰り返します。
プライマリ ユーザーの変更は、タイトルによって適切に処理される必要があります。 合格例
- 別のユーザーで起動したときのタイトルの状態が、タイトルの種類に対してコンテキスト上適切である。
- ユーザーの変更後、ユーザーの進行状況、保存された状態、設定、実績、またはその他の報酬が正しいユーザーに関連付けられる。
- ユーザーの変更後、タイトルがユーザーの進行状況、保存された状態、設定、実績、またはその他の報酬を誤ってユーザーに関連付ける。
- タイトルが最初のユーザーにセーブ データを付与し続ける。
- 以前のユーザーがサインアウトした後に、新しいユーザーがそのユーザーのセーブ データ、状態、またはプロファイルを変更できる。
052-05 正しいユーザーの関連付け
テスト手順- プロファイルにサインインし、タイトルを起動します。
- ゲームプレイに進み、ゲームの進行状況を保存します。
- タイトルを終了します。
- 手順 1 のプロファイルからサインアウトし、新しいプロファイルにサインインします。
- タイトルを起動し、保存された進行状況へのアクセスを試みます。
元のユーザーについて保存された進行状況は、新しいプロファイルから表示/アクセスできてはなりません。 合格例
- 手順 5 では、手順 4 の新しいプロファイルに関連付けられた保存された進行状況のみが表示される。
- タイトルで、新しいプロファイルが別のプロファイルの保存された進行状況を読み込むことができる。
052-06 クラウド ストレージ: ローミング
必要なデバイス- XBOX One
- XBOX One S
- XBOX One X
- XBOX Series X|S
- PC 2 台
- デバイス A で XBOX プロファイルにサインインし、タイトルを起動します。
- ゲームプレイを開始し、セーブの進行状況を作成します (可能な場合は、新しい設定構成を変更または追加して設定のセーブを作成します)。
- タイトルを終了します。
- 手順 1 で使用したものと同じプラットフォーム/世代の 2 台目のデバイス (たとえば、XBOX Series S と XBOX Series X、XBOX One と XBOX One S、および 2 台目の PC) で、手順 1 で使用したものと同じプロファイルでサインインします。
- 手順 1 と同じタイトルを起動し、すべてのセーブ ゲームと設定ファイルまたは構成ファイル (あるいはその両方) にアクセスして正しく読み込むことができ、それらが共有コンテンツに依存していないことを確認します。
- 世代をまたいで同じプラットフォーム上で同じ TitleID を使用するゲーム (たとえば、XBOX One と XBOX Series X|S) の場合は、手順 4 を繰り返します。
- Windows プラットフォーム上で同じ TitleID を使用する PC ゲームの場合は、手順 4 を繰り返します。
- サポートされている場合、プラットフォーム間で同じ TitleID を使用するゲーム (たとえば、Windows と XBOX Series X|S) の場合は、次の操作を行います。
- サポートされている他のプラットフォームで手順 1 と同じタイトルを起動し、すべてのセーブ ゲームと設定ファイルまたは構成ファイル (あるいはその両方) にアクセスして正しく読み込むことができ、それらが共有コンテンツに依存していないことを確認します。
タイトルのセーブの進行状況は、ユーザー プロファイルに関連付けられている必要があり、ユーザーが XBOX サービスにサインインしているときは、同様のデバイス/プラットフォーム間でローミングする必要があります。世代をまたいで同じプラットフォーム上で同じ TitleID を使用するゲームの場合、ゲームのセーブ データはこれらのプラットフォーム間でローミングする必要があります。Windows プラットフォーム上で同じ TitleID を使用する PC ゲームの場合、ゲームのセーブ データは異なる PC 間でローミングする必要があります。ゲームのセーブ データは、共有コンテンツに依存してはなりません。 合格例
- 同じ本体プラットフォーム/世代の 2 台目の本体 (たとえば、XBOX Series S と XBOX Series X、または XBOX One と XBOX One S) で、ゲームのセーブと関連する設定ファイルを正常にダウンロードできる。
- Windows プラットフォームの 2 台目の PC で、ゲームのセーブと関連する設定ファイルを正常にダウンロードできる。
- 世代をまたいで同じプラットフォーム上で同じ TitleID を共有する本体ゲーム (たとえば、XBOX One と XBOX Series X|S) の場合、セーブと関連する設定ファイルをこれらのデバイス間でローミングできる。
- ゲームのセーブ データが共有コンテンツに依存していない。
- 同じプラットフォーム/世代の 2 台目の本体 (たとえば、XBOX Series S と XBOX Series X、または XBOX One と XBOX One S) で、ゲームのセーブと関連する設定ファイルを正常にダウンロードできない。
- Windows プラットフォームの 2 台目の PC で、ゲームのセーブと関連する設定ファイルを正常にダウンロードできない。
- 世代をまたいで同じプラットフォーム上で同じ TitleID を共有する本体ゲーム (たとえば、XBOX One と XBOX Series X|S) の場合、セーブと関連する設定ファイルをこれらのデバイス間でローミングできない。
- クラウド内のセーブが初回起動時にタイトルによって認識されず、ユーザーの操作なしに、その後 2 台目のデバイスで上書きされる。
- ゲームのセーブ データが共有コンテンツに依存している。
実績とアワード
以下の要件は、XBOX ネットワークで実績を提供するタイトルに適用されます。XBOX 本体を対象とするすべてのゲームは、実績を備え、以下の要件を満たす必要があります。体験版では実績を使用できませんが、Hero Stats をサポートすることは可能です。XR-055: 実績とゲーマースコア *
タイトルは、リリース時に必要な数 (最小数と最大数) の実績と、それに関連付けられたゲーマースコアを提供する必要があります。タイトルは、リリース後いつでも、対応する新しいコンテンツの有無にかかわらず、実績やゲーマースコアを追加できますが、タイトルごとの上限や期間ごとの上限を超えることはできません。 1 つの実績のゲーマースコアは 200 を超えてはならず、タイトル内のすべての実績が達成可能である必要があります。 ベース ゲームまたはコンテンツ更新での実績のロック解除は、ゲーム コンテンツを十分に探索したこと、またはゲーム コンテンツに十分に取り組んだことを表すものでなければなりません。[!Note] “半期” とは、1 月から 6 月、および 7 月から 12 月を指します。ベース ゲームの実績とゲーマースコアは、半期ごとの上限にはカウントされません。実績を複数のタイトル間で共有してはなりません。同じタイトル ID を使用して 1 つのタイトルが異なるデバイスでサポートされる場合、そのタイトルは同じ実績のセットを共有する必要があり、必要に応じてデバイス固有の実績を持つことができます。 実績の名前と説明には、PEGI 12、ESRB EVERYONE 10+ 以下のレーティングに相当するコンテンツのみを含めることができます。実績の名前と説明には、一般的に冒涜的とみなされる表現を、そのままの形でも伏せ字の形でも含めてはなりません。
055-01 実績
テスト手順- タイトルがサポートするゲーマースコアの量と実績の総数を確認します。
- タイトルをプレイし、できるだけ多くの実績の獲得を試みます。
- 本体で中断から再開した後、および PC またはハンドヘルド デバイスでスリープと休止状態から再開した後に、手順 2 を繰り返します。
- XBOX サービスから切断した状態で手順 2 を繰り返します。
すべての実績がその条件に従ってロック解除され、ベース ゲームのリリース時に獲得可能な最大ゲーマースコアは、10 ~ 100 個の実績に配分された 1000G です。すべての実績は、ゲーム コンテンツを十分に探索したこと、またはゲーム コンテンツに十分に取り組んだことを表します。 合格例
- すべての実績を獲得できる。
- 実績がその条件どおりにロック解除される。
- すべての実績が、ゲーム コンテンツを十分に探索したこと、またはゲーム コンテンツに十分に取り組んだことを表している。
- ゲームのリリース バージョンに、10 ~ 100 個の実績に配分された 1000 のゲーマースコアがある。
- 条件を満たしても実績がロック解除されない。
- 条件を満たす前に実績がロック解除される。
- 実績が、ゲーム コンテンツを十分に探索したこと、またはゲーム コンテンツに十分に取り組んだことを表していない。
- ゲームの開始から数分以内にすべての実績をロック解除できる。
- コア ゲームプレイ ループの一部として必要な場合を除き、ユーザーの入力なしで (または最小限の入力で) 実績をロック解除できる。
- ゲームのリリース バージョンのゲーマースコアが 1000G ではない。
- ゲームのリリース バージョンの実績の数が 10 ~ 100 個の範囲外である。
- 本体での中断から再開した後、または PC やハンドヘルド デバイスでスリープや休止状態から再開した後に、実績がロック解除されない。
- 1 つの実績のゲーマースコアが 200 を超えている。
- XBOX サービスに再接続した後に実績がロック解除されない。
XR-057: 実績のロック解除 *
タイトルは、ユーザーが追加のタイトル内コンテンツの購入を求められることなく、ベース タイトルで定義されたすべての実績を獲得できる方法を提供する必要があります。 実績は、ゲーム内のアクション、ゲームプレイ、または体験 (あるいはそれらの組み合わせ) を通じてロック解除される必要があります。 タイトルは、対応するゲームプレイ アクティビティなしに実績を直接ロック解除する代替手段をプレイヤーに提供してはなりません。許可されない手段の例を以下に示します (これらに限定されません)。- 実際のお金による購入
- ゲーム内のチート コード、コンソール、またはメニュー オプション
057-01 ベースの実績に追加購入が不要であること
テスト手順- ベース タイトルの実績の説明を確認します。
- 追加の購入やコンテンツが必要ないことを確認します。
- すべての実績を獲得します。
追加のタイトル内コンテンツの購入を求められることなく、すべての実績を獲得できます。 合格例
- 追加のタイトル内コンテンツの購入を求められることなく、すべての実績を獲得できる。
- 追加のタイトル内コンテンツを必要とする実績がない。
- ベース タイトルで定義された実績をロック解除するために、ユーザーが追加のタイトル内コンテンツを購入する必要がある。
マルチプレイヤー セッション
このカテゴリの要件は、XBOX でマルチプレイヤー セッションを提供するゲーム タイトルに関係します。XBOX は、マルチプレイヤー セッションを見つけるための一貫性のあるシンプルな方法と、それらのセッションの検索に使用するパラメーターを微調整する方法を提供します。XR-064: 参加可能なゲーム セッションとオンライン プレイ *
参加可能なマルチプレイヤー体験または協力プレイ体験を提供するタイトルは、マルチプレイヤー アクティビティ (MPA) 機能を使用して、XBOX シェル インターフェイスを通じて参加可能であることをアドバタイズする必要があります。参加可能なアクティビティをアドバタイズすると、クロスネットワークのプレイヤーが存在するシナリオも含め、プレイヤーは XBOX シェル (フレンド リスト、ゲーマーカード、Game Bar など) を通じて参加したり、招待を送受信したりできるようになります。詳細情報
参加可能な体験とは、協力プレイのキャンペーン、途中参加型のマルチプレイヤー、ソーシャル スペースなど、他のプレイヤーが合理的に参加できるあらゆるオンライン セッションです。タイトルが MPA を通じて参加可能なアクティビティをアドバタイズすると、XBOX シェルにそのセッションが表示され、フレンドが直接参加したり、シェルから招待されたりできるようになります。 プレイヤーが参加可能な状態でなくなったときは、シェルが入ることのできないセッションを表示しないよう、タイトルはアドバタイズしたアクティビティをクリアする必要があります。参加を完了できない場合、タイトルはその理由 (セッションが満員である、ダウンロード コンテンツが必要であるなど) をプレイヤーにメッセージで伝える必要があります。 XBOX シェルはセッションの定員を強制しません。プレイヤー数を管理し、セッションが満員のときに参加を拒否したり待機させたりするのはタイトルの責任です。マッチメイキングを通じた参加のみをサポートするタイトル (ランク マッチなど) は、XBOX シェルを通じて参加可能であることをアドバタイズする必要はありません。タイトルは、プレイヤーに明確にメッセージで伝える限り、必要なダウンロード コンテンツなどの前提条件によって参加を制限できます。招待
参加可能なセッションでは、XBOX シェルから送信されるプラットフォームの招待を常に利用できる必要があります。ゲーム内の招待は推奨されますが、必須要件ではありません。プレイヤーがシェルを通じて他のユーザーを招待できるようにする前に、タイトルがゲーム内の招待メカニズムを提供する必要はありません。 タイトルがゲーム内の招待メカニズムを提供する場合、そのメカニズムは、受信者が XBOX シェルの通知を通じて招待を受け取れるように、XBOX プラットフォームを経由して招待をルーティングする必要があります。タイトルは、招待を送信できるユーザーを制限したり (ホストやチーム キャプテンのみなど)、プレイヤーの XBOX フレンドの一部のみを表示したりできます。フランチャイズ、クラブ、またはクラン内でのみ参加可能なタイトルは、それに応じて招待の範囲を限定できます。実装ガイダンスとベスト プラクティス
参加可能なアクティビティのアドバタイズと、招待の送信および承諾には、マルチプレイヤー アクティビティ (MPA) 機能を使用してください。両方を維持すると重複したレコードや参加の競合が発生する可能性があるため、同じ目的で MPA と従来のマルチプレイヤー セッション ディレクトリ (MPSD) を混在させないでください。セッションが参加不可能になったときは必ずアクティビティをクリアし、プラットフォームの招待とゲーム内の招待が一貫して動作するように XBOX プラットフォームの招待 API を使用してください。 GDK を使用して参加可能なアクティビティをアドバタイズし、招待を送信する方法については、「マルチプレイヤー アクティビティの概要」を参照してください。064-01 ゲーム外からのゲーム セッションへの参加
構成- 2 つの XBOX プロファイル
- デバイス 1 のプロファイル A - プロファイル B とフレンド
- デバイス 2 のプロファイル B - プロファイル A とフレンド
- プロファイル A を使用して、参加可能なゲーム セッションを作成します。
- タイトルを実行していないプロファイル B を使用して、XBOX シェル インターフェイスからフレンド リストにアクセスし、プロファイル A が参加可能として表示されていることを確認します。
- ゲームによってはプライベート マルチプレイヤー セッションのみをサポートしているため、プロファイル B に対して参加可能として表示されない場合があります。その場合は手順 6 に進んでください。
- プロファイル B がプロファイル A のゲームに参加します。
- 両方のプロファイルが一緒にゲーム体験に入ることを確認します。
- 本体でタイトルが中断状態にある間、および PC またはハンドヘルド デバイスでシステムがスリープまたは休止状態にある間に、プロファイル B で手順 1 ~ 4 を繰り返します。
- 手順 1 ~ 5 を繰り返しますが、今回はプロファイル B がフレンド リストから参加する代わりに、プロファイル A がシステム シェルからプロファイル B にゲームの招待を送信し、プロファイル B が招待を受信、承諾し、プロファイル A に参加できることを確認します。
ユーザー B は、ユーザー A のゲームに参加し、一緒にゲーム体験を進めることができる必要があります。プライベート マルチプレイヤー セッションのみをサポートしているため、プロファイル B に対して参加可能として表示されないゲームの場合は、招待がプロファイル A に参加する唯一の手段であっても許容されます。マッチメイキングによるセッションへの参加のみをサポートするマルチプレイヤー ゲーム セッション (ランク マッチなど) の場合は、XBOX シェル インターフェイスからの参加をサポートしなくても許容されます。クロスプラットフォーム マルチプレイヤーをサポートするタイトルの場合、ユーザーは XBOX One 本体と PC の間で参加できる必要があります。 合格例
- 両方のプロファイルが一緒にゲーム体験に入る。
- ユーザー B がユーザー A のゲームに参加し、一緒にゲーム体験を進めることができる。
- ゲームがプライベート マルチプレイヤー セッションのみをサポートしているため、ユーザー A が XBOX シェル インターフェイスのフレンド リストで参加可能として表示されないが、ユーザー A はシステム シェルからユーザー B にゲームの招待を送信できる。
- マッチメイキングによる参加のみをサポートするセッション (ランク マッチなど) に参加している間、ユーザー A が参加可能として表示されず、XBOX シェル インターフェイスからゲームの招待を送信できない。
- ユーザー B がユーザー A のゲームに正常に参加できず、ゲーム体験に入れない。
- ゲームがプライベート マルチプレイヤー セッションのみをサポートしているため、ユーザー A が XBOX シェル インターフェイスのフレンド リストで参加可能として表示されず、ユーザー A はシステム シェルからユーザー B にゲームの招待を送信できない。
064-02 同じゲームからのゲーム セッションへの参加
構成- 2 つの XBOX プロファイル
- デバイス 1 のプロファイル A - プロファイル B とフレンド
- デバイス 2 のプロファイル B - プロファイル A とフレンド
- プロファイル A を使用してタイトルを起動し、タイトル内で参加可能なゲーム セッションを作成します。
- プロファイル B を使用して同じタイトルを起動し、タイトル内の何らかの体験に入ります。
- プロファイル B を使用して、XBOX シェル インターフェイスからフレンド リストにアクセスし、プロファイル A のゲームへの参加を選択します。
- ゲームによってはプライベート マルチプレイヤー セッションのみをサポートしているため、プロファイル B に対して参加可能として表示されない場合があります。その場合は手順 5 に進んでください。
- 両方のプロファイルが一緒にゲーム体験に入ることを確認します。
- 手順 1 ~ 4 を繰り返しますが、今回はプロファイル B が XBOX シェル インターフェイスのフレンド リストから参加する代わりに、プロファイル A がシステム シェルからプロファイル B にゲームの招待を送信し、プロファイル B が招待を受信、承諾し、プロファイル A に参加できることを確認します。
ユーザー B は、ユーザー A のゲームに参加し、一緒にゲーム体験を進めることができる必要があります。プライベート マルチプレイヤー セッションのみをサポートしているため、プロファイル B に対して参加可能として表示されないゲームの場合は、招待がプロファイル A に参加する唯一の手段であっても許容されます。マッチメイキングによるセッションへの参加のみをサポートするマルチプレイヤー ゲーム セッション (ランク マッチなど) の場合は、XBOX シェル インターフェイスからの参加をサポートしなくても許容されます。クロスプラットフォーム マルチプレイヤーをサポートするタイトルの場合、ユーザーは XBOX One 本体と PC の間で参加できる必要があります。 合格例
- 両方のプロファイルが一緒にゲーム体験に入る。
- ユーザー B がユーザー A のゲームに参加し、一緒にゲーム体験を進めることができる。
- ゲームがプライベート マルチプレイヤー セッションのみをサポートしているため、ユーザー A が XBOX シェル インターフェイスのフレンド リストで参加可能として表示されないが、ユーザー A はシステム シェルからユーザー B にゲームの招待を送信できる。
- マッチメイキングによる参加のみをサポートするセッション (ランク マッチなど) に参加している間、ユーザー A が参加可能として表示されず、XBOX シェル インターフェイスからゲームの招待を送信できない。
- ユーザー B がユーザー A のゲームに正常に参加できず、ゲーム体験に入れない。
- ゲームがプライベート マルチプレイヤー セッションのみをサポートしているため、ユーザー A が XBOX シェル インターフェイスのフレンド リストで参加可能として表示されず、ユーザー A はシステム シェルからユーザー B にゲームの招待を送信できない。
064-03 ゲーム内の招待
このテスト ケースは、ゲーム内の招待メカニズムを提供するタイトルにのみ適用されます。 構成- それぞれ異なるデバイスにサインインした 2 つの XBOX プロファイル
- デバイス 1 のプロファイル A - プロファイル B とフレンド
- デバイス 2 のプロファイル B - プロファイル A とフレンド
- ユーザー A と B をそれぞれのデバイスにサインインさせます。
- 両方のユーザーがタイトルを起動します。
- ユーザー A がゲーム セッションを作成し、招待を送信するためのゲーム内オプションを見つけます。
- ユーザー A がユーザー B にゲームの招待を送信します。
- プロファイル B が、以下の各場面で招待を承諾し、プロファイル A のゲーム セッションに参加します。
- 最初の起動シーケンスから最初の対話可能な状態までの任意の時点
- メイン メニュー (存在する場合)
- シングル プレイヤーのゲームプレイ中 (存在する場合)
- マルチプレイヤーのゲームプレイ中 (存在する場合)
- メイン メニューで、タイトルが本体で中断状態にある間、または PC やハンドヘルド デバイスでスリープまたは休止状態にある間 (存在する場合)
- シングル プレイヤーのゲームプレイ中に、タイトルが本体で中断状態にある間、または PC やハンドヘルド デバイスでスリープまたは休止状態にある間 (存在する場合)
- メイン メニューで、タイトルが制約状態にある間 (存在する場合)
- 任意のゲームプレイ中に、タイトルが制約状態にある間 (存在する場合)
- 各招待の後に、両方のプロファイルが一緒にゲーム体験に入ることを確認します。
タイトルがゲーム内の招待メカニズムを提供する場合、そのメカニズムは XBOX プラットフォームを経由して招待をルーティングし、プロファイル B が XBOX シェルの通知を通じて招待を受け取り、プロファイル A がホストするセッションに参加できるようにする必要があります。 タイトルがセッションへの招待を送信できるユーザーを制限することは許容されます (チーム ゲームでチーム キャプテンのみに制限するなど)。 この状況において、タイトルが破壊的な操作の確認のアプローチを取る必要はありません。タイトルは招待や参加の操作の実行を止めることができないため、その操作がタイトルに破壊的な影響を及ぼす場合でも、確認を求める必要はありません。 クロスプラットフォーム マルチプレイヤーをサポートするタイトルの場合、ユーザーは XBOX One 本体と PC の間で、招待を通じてセッションに参加できる必要があります。 合格例
- ゲーム内の招待オプションが XBOX プラットフォームを経由して招待をルーティングし、プロファイル B が XBOX シェルを通じて招待を受け取り、承諾する。
- ゲーム内でゲームの招待を承諾したときに、プレイヤーに破壊的な操作の確認メッセージが表示されない。
- 必要な DLC がデバイスに存在しない場合、招待は完了するが、セッションを開始/起動できない。このことがプレイヤーに明確にメッセージで伝えられる。
- ホストが誰であるかが明確な場合に、ゲーム セッションのホストのみが招待を送信できる。
- ゲーム内の招待メカニズムが XBOX プラットフォームを経由して招待をルーティングしないため、プロファイル B が XBOX シェルを通じて招待を受け取れない。
- ゲームの招待を承諾した後、アクティブなプレイヤーが招待されたゲーム セッションに移動しない。
- 必要な DLC がデバイスに存在しない場合に招待が完了せず、そのことがプレイヤーにメッセージで伝えられない。
064-04 参加できないゲーム
構成- それぞれ異なるデバイスにサインインした 3 つの XBOX プロファイル
- デバイス 1 のプロファイル A - プロファイル B および C とフレンド
- デバイス 2 のプロファイル B - プロファイル A とフレンド
- デバイス 3 のプロファイル C - プロファイル A とフレンド
- プロファイル A を使用してタイトルを起動し、参加可能なゲーム セッションを作成します。
- プロファイル A を使用して、プロファイル B と C をゲームに招待します。
- プロファイル A を使用して、A の参加後に残りの枠が 1 つだけになるようにゲーム セッションに入ります。
- プロファイル B を使用して招待を承諾します。
- プロファイル A と B が一緒にプレイしていることを確認します。
- プロファイル C を使用して招待を承諾し、ゲーム セッションへの参加を試みます。
プロファイル C は、次に参加できる機会まで待つよう求められるか、ゲーム セッションに参加できなかった理由をメッセージで伝えられます。 合格例
- プロファイル C が、次に参加できる機会まで待つよう求められる。
- プロファイル C が、ゲーム セッションに参加できなかった理由をメッセージで伝えられる。
- プロファイル C が、次に参加できる機会まで待つよう求められず、参加できなかったことについてメッセージも伝えられない。
XR-067: 最近一緒にプレイしたユーザーとのやり取りの維持 *
オンライン マルチプレイヤー機能を備えたタイトルは、マルチプレイヤー アクティビティ (MPA) の Recent Players 機能を使用して、XBOX ネットワーク上での意味のあるプレイヤー間のやり取りを記録する必要があります。やり取りを記録すると、どのプレイヤーが一緒にプレイしたかを XBOX ネットワークが把握できるため、プラットフォームは最近一緒にプレイしたユーザーの一覧、プレイヤーのフィードバック、および使用状況レポートを表示できます。 従来のマルチプレイヤー セッション ディレクトリ (MPSD) を引き続き使用しているタイトルの場合は、代わりにセッション状態の情報を MPSD で維持することができます。両方を維持すると重複したレコードが作成される可能性があるため、この目的で MPA Recent Players と MPSD の両方を使用しないでください。067-01 最近一緒にプレイしたユーザーとのやり取り
テスト手順- XBOX プロファイルにサインインし、複数のデバイスでタイトルを起動します。
- すべてのプレイヤーで XBOX ゲーム セッションを完了します。
- ホームに戻り、最近一緒にプレイしたユーザーの一覧を表示して、ゲーム セッションのすべてのプレイヤーが含まれていることを確認します。
- 手順 1 ~ 3 をさらに数回繰り返しますが、毎回新しいアカウントを使用します。
- 手順 1 ~ 4 を繰り返しますが、今回は 1 人以上のプレイヤーがゲームプレイ中に退出するようにし、手順 2 の間に退出したプレイヤーのプロファイルが引き続き最近一緒にプレイしたユーザーの一覧に表示されることを確認します。
ユーザーは、最近プレイしたすべてのゲーム セッションについて、すべてのプレイヤーを確認できる必要があります。 合格例
- すべてのプロファイルが、デバイスの最近一緒にプレイしたユーザーの一覧に含まれている。
- 一部のプロファイルが、デバイスの最近一緒にプレイしたユーザーの一覧に含まれていない。
- マルチプレイヤーのゲームプレイ中に退出したユーザーが、最近一緒にプレイしたユーザーの一覧に表示されない。
XR-070: フレンド リスト *
タイトルは、XBOX ネットワークのフレンド リストをフレンドのプライマリ リストとして使用する必要があります。タイトルは、XBOX API からフレンド リストを取得する必要があり、フレンド リストをゲーム サーバーに永続的に保存してはなりません。 タイトルは、XBOX ネットワークを利用していないプレイヤーや、ユーザーの XBOX ネットワークのフレンド リストに含まれていないプレイヤーについて、中央のタイトル アカウントからのフレンドのセカンダリ リストを表示できます。設計に応じて、タイトルは XBOX ネットワークのフレンドとパブリッシャー アカウントのフレンドの両方を 1 か所にまとめた、混合フレンド リストの体験を作成できます。その場合、アイコンやその他の識別用のマークを使用して、XBOX のフレンドを他のネットワークのフレンドと区別する必要があります。 GDK を使用したフレンド リストの利用については、「People System (フレンド リスト) の概要」を参照してください。070-01 XBOX フレンド リスト
テスト手順- タイトル内に表示されるユーザーの一覧をすべて見つけ、それらに XBOX ネットワークのフレンド リストが含まれていることを確認します。
- タイトルが XBOX ネットワークのフレンドとパブリッシャー アカウントのフレンドの両方を含む混合フレンド リストをサポートしている場合は、それらがアイコンやその他の識別用のマークで区別されていることを確認します。
タイトルは、XBOX API を使用して XBOX ネットワークのフレンド リストをフレンドのプライマリ リストとして使用する必要があり、それらをゲーム サーバーに永続的に保存してはなりません。XBOX ネットワークのフレンドとパブリッシャー アカウントのフレンドの両方を含む混合フレンド リストを表示する場合、タイトルはフレンドを区別する必要があります。 合格例
- タイトルが、XBOX API を使用して XBOX ネットワークのフレンド リストをフレンドのプライマリ リストとして使用している。
- タイトルに、最近のプレイヤーやギルド メンバーなど、ユーザーのコア リストとして位置付けられていない代替のユーザー一覧がある。
- タイトルが、タイトルをプレイしたことのあるフレンドのみを表示するようにフィルター処理されたフレンド リストを表示し、状況によっては、現在オンラインのフレンドのみ、または現在オンラインでタイトル内でアクティブなフレンドのみを表示する。
- タイトルが、XBOX ネットワークのフレンドとパブリッシャー アカウントのフレンドの両方を含む混合フレンド リストを表示し、アイコンやその他の識別用のマークでそれらを区別している。
- タイトルが XBOX API を使用せずにフレンドの一覧を表示している。
- タイトルがフレンド リストをゲーム サーバーに永続的に保存している。
- タイトルが、XBOX ネットワークのフレンドとパブリッシャー アカウントのフレンドの両方を含む混合フレンド リストを表示しているが、それらを区別していない。
ベータ版と Game Preview
このカテゴリの要件は、ベータ版または Game Preview に分類されるタイトルにのみ適用されます。その他のストア ポリシーや、オープン ベータとクローズド ベータのプログラム固有の定義、サイズの制限、期間、価格、メタデータ、およびオファーについては、Microsoft の担当者にお問い合わせください。 ベータ版および Game Preview のタイトルには、このドキュメントに記載されている XR の一部が適用されます。この一部の範囲については、「Game Preview とベータ版の XBOX 要件」ページで詳しく説明しています。XR-117: ベータ版/Game Preview の通知 *
ベータ段階にあるタイトルは、起動後、ゲームプレイまたはアプリケーションの使用前に、体験内でスプラッシュ画面またはメッセージを表示し、以下を伝える必要があります。- タイトルがベータ版/プレリリース版のソフトウェアであること。
- 一部のプラットフォーム機能が正しく動作しない可能性があること。
- 一部のゲーム機能が正しく動作せず、クラッシュする可能性があること。
117-01 ユーザーへのベータ版/Game Preview の通知
テスト手順- XBOX プロファイルにサインインし、タイトルを起動します。
- ユーザーがゲームプレイに参加したりアプリケーションを使用したりできるようになる前に、少なくとも以下を伝えるメッセージが表示されることを確認します。
- タイトルがベータ版/プレリリース版のソフトウェアであること。
- 一部のプラットフォーム機能が正しく動作しない可能性があること。
- 一部のゲーム機能が正しく動作せず、クラッシュする可能性があること。
- 通知では、タイトルのサポート範囲についても説明する必要があります。
タイトルは、タイトルがベータ版/プレリリース版であり、完全には期待どおりに機能しない可能性があることをユーザーに伝える必要があります。 合格例
- ユーザーがタイトル内の機能を利用できるようになる前に、タイトルのベータ版/プレリリース版のステータスがユーザーに通知される。
- タイトルのベータ版/プレリリース版のステータスをユーザーに通知するメッセージが表示されない。
- ベータ版/プレリリース版のステータスに関するタイトルからの通知が表示される前に、ユーザーがタイトルの機能にアクセスできる。
BVT: ビルドの認定前テスト
以下のテストは、タイトルの XBOX 認定テストへの準備が整っているかどうかを確認するために使用されます。BVT-01 ビルドの安定性
テスト手順- タイトルを起動し、すべてのメニューを移動して、ゲームプレイに入ります
- 他の BVT の実行中に見つかった安定性の問題の再現を試みます
タイトルには、タイトルの XR テスト全体の実施を妨げるような安定性の問題や長い読み込み時間があってはなりません。
BVT-02 マッチメイキング
テスト手順- 本体 1: 最も基本的な XBOX ゲーム モードを選択し、XBOX ゲーム セッションをホストします。
- 本体 2: クイック マッチを使用して本体 1 の XBOX ゲーム セッションに参加します。(ゲーム セッションを開始するために必要な最小数の本体が参加するまで、この手順を繰り返します。)
- 本体 1 と 2: XBOX ゲーム セッションを開始し、完了します。
- マッチメイキングが機能し、サポートされている他のすべてのゲーム モードでユーザーがゲームプレイに入れることを確認します。
本体 2 は、常に本体 1 のゲーム セッションを見つけて参加できる必要があります。両方の本体は、切断されたり安定性の問題が発生したりすることなく、XBOX ゲーム セッションを完了できる必要があります。
BVT-03 DLC
テスト手順- ゲームと共に提出されたダウンロード コンテンツが、XBOX Store またはゲーム内のメカニズムを使用してダウンロードできることを確認します。
- ダウンロード後、そのコンテンツをゲーム内で容易に識別できることを確認します。(提出資料と共にダウンロード コンテンツの詳細な説明を提供すると、認定チームがダウンロード コンテンツを見つけやすくなります。)
タイトルと共に提出されたダウンロード コンテンツは、XBOX Store またはゲーム内の UI を使用してダウンロードでき、ダウンロード後はゲーム内で容易に識別できる必要があります。
BVT-05 言語
テスト手順- XBOX デバイスの設定アプリケーションから、言語を英語に設定します。
- タイトルを進めます。
- タイトルが以下を満たしていることを確認します。
- クラッシュしたり、応答しない状態になったりしない。
- 画面にデバッグ出力を表示しない。
- 意図したすべての領域でローカライズが実装されている。
- タイトルがサポートするすべての言語について、手順 1 ~ 4 を繰り返します。
タイトルには、サポートされているすべての言語が含まれています。また、タイトルには、特定の言語に固有の安定性の問題やデバッグ出力が含まれていない必要があります。
BVT-07 基本構成
テスト手順- タイトルを起動し、すべての BVT 機能チェックが、動作のために時刻/日付などの本体の設定の変更を必要としないことを確認します。
- タイトルのメイン メニューに到達するために回避策が必要ないことを確認します。
タイトルが認定に入る時点で、基本的な機能が動作していることが求められます。
BVT-08 XBOX Store での提供
必要なツール:- 開発者サンドボックスに公開されたゲーム。
- CERT および CERT.DEBUG サンドボックスに公開されたゲーム。
- ゲームを開発者サンドボックスに公開します。
- ストアからタイトルをインストールします。
- タイトルを起動し、ゲームプレイに入ります。
[!Important] 認定に提出する際は、ゲームを CERT および CERT.DEBUG サンドボックスに公開してください。期待される結果
タイトルは、CERT および CERT.DEBUG サンドボックスからインストールできる必要があります。
BVT-09 再提出の条件
テスト手順- タイトルの最新の認定レポートで CFR として記録されたすべての問題を再現します。
- CFR として記録されたすべての問題が修正されていることを確認します。再現する問題については、いずれも承認された例外が必要です。
以前のレポートで CFR としてマークされた問題は、例外が認められている場合を除き、修正されている必要があります。
例外を申請する手順については、Microsoft の担当者にお問い合わせください。
BVT-10 バージョンの確認
テスト手順- タイトルをインストールします。
- [マイ ゲーム & アプリ] に移動し、タイトルを強調表示して Menu ボタンを押し、[ゲームとアドオンの管理] を選択します。
- [ファイル情報] を選択します。
- インストールされた製品の FullName を、提出書類/キックオフ メールに記載されているパッケージ名と比較します。
インストールされた XVC の FullName が、キックオフ メール/提出書類に記載されている内容と完全に一致します。
BVT-12 パートナーがホストするサービス
テスト手順- XBOX プロファイルにサインインし、タイトルを起動します。
- パートナーがホストするすべてのサービスにアクセスできることを確認します。
パートナーがホストするすべてのサービスがテスト用に構成されており、それらに依存するすべての機能にアクセスできます。
BVT-13 年齢レーティングの検証
構成:- タイトルが最終版 (ベースまたはコンテンツ更新) である必要があります。
- 最終版 (ベース/コンテンツ更新) - 証明書を必要とするすべてのロケールについて証明書が必要です。
- 対象外 - DLC、ゲーム内コンテンツ - テストは不要です。
- 提出資料をレビューに使用できること。
- Microsoft Partner Center で製品の年齢レーティングにアクセスできること。
- 以下のドキュメント/情報が利用可能であることを確認します。
- 提出物の XVC の Submission Validator ログ。
- Partner Center での年齢レーティングの申告。
- 年齢レーティングの証明書。
- Submission Validator のログ ファイルを開き、
<component>Manifest-Ratings</component>テストについて警告や失敗が表示されていないことを確認します。- 2020 年 5 月 11 日より後に認定されたすべてのタイトル: AppxManifest 内にレーティング要素が存在してはなりません。
- 2020 年 5 月 11 日より前に認定されたタイトル: AppxManifest 内にレーティング要素が存在することが許可されます。
- Partner Center を開いて、製品の年齢レーティング情報を確認します
- 表示される各値について、年齢レーティングと完全に一致する対応したレーティング証明書が提供されていることを確認します。
- これらのファイルがすべて提供され、この提出の種類に関連するものである必要があります。
- すべてのレーティングに、対応する証明書が提供されている必要があります。
- 2020 年 5 月 11 日より後に認定に入ったベースの最終版の提出物では、AppxManifest に年齢レーティング要素が定義されていてはなりません。
- 2020 年 5 月 11 日より前に認定されたタイトルのコンテンツ更新では、レーティング要素を完全に削除する場合を除き、AppxManifest のレーティングを追加または削除してはなりません。
BVT-14 UWP サービス構成の検証
構成 タイトルが UWP の提出物である必要があります。 テスト手順- 以前にタイトルにアクセスしたことのない XBOX プロファイルにサインインします。
- タイトルを起動します。
- ユーザーに XBOX アカウントのアクセス許可の承諾が求められることを確認します。
- メイン メニューまたはフロントエンド メニューで、
xbdir "XS:\Program Files\WindowsApps\{XVC}\"コマンドを実行し、‘xboxservices.config’ ファイルを検索します。
タイトルのサービス構成がテスト用に構成されている必要があります。 合格例
- タイトルにサービス構成ファイルが含まれており、新しいユーザーに XBOX アカウントのアクセス許可の承諾が求められる。
- サービス構成ファイルが存在しない。
- サービス構成ファイルは存在するが、サイズが 0 バイトである。
- 新しいユーザーに XBOX アカウントのアクセス許可の承諾が求められない。
BVT-15 Intelligent Delivery
テスト手順- タイトルの XVC を入手し、
packageutil chunkinfo [XVC] > chunkinfo.xmlコマンドを使用して Chunkinfo.xml ファイルを生成します。 - 生成された chunkinfo.xml を使用して、タイトルが Intelligent Delivery をサポートしているかどうかを判断します。
- Intelligent Delivery がサポートされている場合は、
xbapp install /[Chunk Parameter] [XVC]コマンドを使用して、以下のそれぞれについて新規インストールを開始します。- パラメーター
/Languages=を使用した言語パック (サポートされている別の言語チャンクに切り替え、システム設定またはタイトル内の言語オプションを使用して追加の言語パックをダウンロードします) - パラメーター
/Devices=を使用したデバイス固有のコンテンツ - パラメーター
/ContentTypes=を使用したコンテンツの種類 - パラメーター
/Tags=を使用したオンデマンド コンテンツ
- パラメーター
タイトルが、期待される Intelligent Delivery のチャンクを正しくインストールし、悪影響が発生しません。
