メインコンテンツへスキップ
バージョン 2.0、2025/11/1 タイトルは、タイトルのプライマリ ユーザーとして機能する 1 人以上のアクティブなユーザーを確立し、中断、スリープ、または休止状態から再開する際にそのユーザーを処理する必要があります。GDK では、タイトルは簡易ユーザー モデルまたは高度なユーザー モデルのいずれかを使用してこれを行います。 GDK の簡易ユーザー モデルのタイトル GDK の簡易ユーザー モデルでは、タイトルに代わって既定のユーザーの取得が処理されます。ただし、ユーザーにコントローラーが割り当てられていることを確認し、そのコントローラーをゲーム入力に使用する責任は、引き続きタイトルにあります。既定のユーザーにコントローラーが割り当てられていない場合、タイトルは XUserFindControllerForUserWithUiAsync を使用してコントローラーを選択するためのシステム ダイアログを表示し、プレイヤーからの入力の受け付けを開始する必要があります。 GDK の高度なユーザー モデル 初回のアクティブ化時に、ゲームはゲームのデザインと好みに基づいて、タイトルを起動したユーザーを使用するか、明示的にユーザーの選択を促すことで、最初のユーザーを決定することを選択できます。 タイトルは、ユーザーのプロファイルに対して最初のプロファイル関連の操作 (進行状況や設定の保存など) を行う前に、アクティブなユーザーを示す必要があります。 高度なユーザー モデルを使用するすべての Microsoft Game Development Kit (GDK) タイトルは、アクティブなユーザーを変更するためのアカウント ピッカーへのエントリ ポイントを提供する必要があります。 タイトルが中断、スリープ、または休止状態から再開されたとき、タイトルはユーザーとコントローラーのペアリングを検証し、以前のユーザーのセッションを再開するか、新しいユーザーを取得することで、適切に対応する必要があります。

詳細情報

初回のアクティブ化時のユーザーの確立 GDK の簡易ユーザー モデル 最初のユーザーは XUserAddAsync(silent) を呼び出すことでタイトルに提供され、常に起動したユーザーについての単一の結果が返されます。 GDK の高度なユーザー モデル、ERA、および UWP マルチユーザー アプリケーション ゲームがタイトルを起動したユーザーを使用する場合:
  • GDK では、XUserAddAsync(silent) を呼び出すことでアクティブなユーザーを特定できます。既定のユーザーが存在しないことがシステムから返された場合、タイトルは silent オプションを指定せずに XUserAddAsync を使用して、ユーザーの選択を促す必要があります。これにより、ユーザーにアカウント ピッカーが表示されます。
  • ERA および UWP では、アプリのアクティブ化コンテキストの推奨ユーザー (CoreApplicationContext.CurrentUser) からアクティブなユーザーを見つけることができます。アプリのアクティブ化コンテキストから推奨ユーザーが提供されず、タイトルがプロファイル関連の操作を行う場合、タイトルはアカウント ピッカーを起動し、ユーザーのプロファイルの選択に基づいてアクティブなユーザーを設定する必要があります。
ユーザーの選択を促す場合:
  • タイトルはエンゲージメント プロンプトを表示し、アカウント ピッカーを表示する必要があります。ユーザーは選択に基づいて決まります。
  • GDK では、アカウント ピッカーは XUserAddAsync を使用して呼び出されます
  • ERA および UWP では、アカウント ピッカーは ShowAccountPickerAsync を使用して呼び出されます。
ユーザーがサインインをキャンセルすることを選択した場合、タイトルは、続行すると進行状況が保存されないことをユーザーに通知する必要があります。 起動時にユーザーが選択または特定されたら、タイトルはプロファイル関連の操作を行う前にゲーマータグを表示します。アクティブなユーザーを表示する方法や場所に関する要件はありません。ベスト プラクティスとしては、アプリのメイン画面やゲームのタイトル メニューにユーザーのゲーマー アイコンと表示名を表示することが挙げられます。 初回のアクティブ化時のコントローラーの確立 ゲームがサインインしているユーザーで起動された場合、ゲームはアカウント ピッカーまたはプラットフォームによって設定されたコントローラーとユーザーのバインドを尊重する必要があります。XBOX プラットフォームは、ゲームプレイ中かどうかにかかわらず、アカウント ピッカーでプレイヤーが選択されるたびに、コントローラーをプレイヤーにバインドします。 タイトルがタイトルを起動したユーザーを使用する場合、タイトルはそのユーザーに割り当てられた関連するゲームパッドを使用して、ゲームプレイと操作を行う必要があります。 中断または制約モードからの再開 GDK の簡易ユーザー モデル XBOX プラットフォームは、最初にゲームを起動したユーザーが引き続きアクティブにサインインしていることを保証します。タイトルは UDA を介して変更通知を登録できます。変更がある場合は、新しくバインドされたコントローラーを使用してゲームプレイを行います。 ゲームプレイ中のその他の追加ユーザーについては、中断状態または制約状態から再開する際に、高度なユーザー モデルに関する次のガイダンスに従って適切に処理する必要があります。 GDK の高度なユーザー モデル、ERA、および UWP マルチユーザー アプリケーション タイトルが中断から再開されたとき、または制約モードを終了したとき、タイトルはユーザーとコントローラーのペアリングを検証し、次のように適切に対応する必要があります。
  • ユーザーとコントローラーのペアリングに変更がない場合、タイトルはそのまま続行する必要があります。
  • ERA または UWP で、タイトルの以前のアクティブなユーザーが引き続きサインインしているものの、新しい User オブジェクトになっている場合 (通常、タイトルの中断中にユーザーがサインアウトしてから再度サインインしたことが原因です)、タイトルはサインアウトした User オブジェクトの代わりに、サインインしている新しい User オブジェクトを使用する必要があります。ユーザーがサインアウトしなかったかのように使用を継続する必要があります。
  • 想定されるすべてのユーザーが、有効だが異なるコントローラーとペアリングされている場合、タイトルは新しいシステムのコントローラー ペアリングに更新し、それを使用する必要があります。
  • 想定されるユーザーに有効なコントローラーがない場合、タイトルはアカウント ピッカーを使用して、そのユーザーのアクティブなコントローラーを確立する必要があります。
  • 想定されるプレイヤーがサインインしていない場合、タイトルはプレイヤーをゲームから削除するか、ユーザーとアクティブなコントローラーを再設定する必要があります。タイトルは通常、アカウント ピッカーを表示することでこれを行います。ユーザーの再設定の一環として新しいユーザーが選択された場合、ゲームの状態がユーザーごとに保存されるのであれば、タイトルはゲームプレイにその新しいユーザーの状態を使用する必要があります。

その他のリソース

GDK を使用したプレイヤー ID については、「ユーザーのセクション」を参照してください

認定テスト ケース

次の表は、GDK の簡易ユーザー モデル、または GDK の高度なユーザー モデル、ERA、UWP マルチユーザー アプリケーションを使用する場合に、XR-112 のどのテスト ケースがタイトルに適用されるかを示しています。

112-02 最初のユーザーとコントローラー

テスト手順
  1. プロファイル A にサインインし、タイトルを起動します。
  2. アクティブなユーザーがタイトルを操作できることを確認します。
  3. プロファイルにサインインしていない状態で手順 [1] を繰り返し、タイトルがアクティブなユーザーを確立するよう促すことを確認します。
  4. アクティブなユーザーを確立し、そのユーザーがタイトルを操作できることを確認します。
期待される結果
タイトルは、タイトルを起動したコントローラーとユーザーのペアリングをアクティブなユーザーに設定するか、コントローラーとユーザーを特定するためのエンゲージメント プロンプトを表示するか、サインインするためのアカウント ピッカーを表示する必要があります。
合格例
  1. タイトルが、タイトルを起動したコントローラーとユーザーのペアリングをアクティブなユーザーに設定します。
  2. タイトルが、コントローラーとユーザーを特定するためのエンゲージメント プロンプトを表示します。
  3. タイトルが、サインインするためのアカウント ピッカーを表示します。
不合格例
  1. タイトルで、最初に使用したコントローラーでユーザーがタイトルを操作できません。
  2. ユーザーがサインインしていない状態で起動されたときに、タイトルがアクティブなユーザーを確立するようユーザーに促しません。

112-03 サインインしているユーザーがいない

テスト手順
  1. ユーザーがサインインしていないことを確認します。
  2. タイトルを起動し、ユーザー データの保存をサポートするすべてのモードに入ります。
  3. データの損失が発生する前に、各モードでユーザーにサインインする機会が提供されることを確認します。
  4. サインインの機会をキャンセルし、進行状況が保存されないことを示す警告がタイトルに表示されることを確認します。
期待される結果
タイトルが通常はユーザー データやゲームの状態を保存するモードにある場合、タイトルはユーザーにサインインする機会を提供する必要があります。タイトルは、ユーザーがサインインせずにゲームプレイを続行すると進行状況が保存されないことを、ユーザーに通知する必要があります
合格例
  1. サインインしていないユーザーが、通常はユーザー データやゲームの状態を保存するタイトルのモードにアクセスしたときに、サインインするよう促されます。
  2. サインインせずにモードを続行すると進行状況が保存されないことが、ユーザーに通知されます。
不合格例
  1. 通常はユーザー データやゲームの状態を保存するモードにいる間、サインインせずにそのモードを続行すると進行状況が保存されないことが、ユーザーに通知されません。
  2. データの損失がすでに発生した後に、進行状況を保存できないことがユーザーに通知されます。

112-04 アクティブなユーザーの表示

テスト手順
  1. 以前にタイトルを使用したことがなく、関連するセーブ データもないプロファイルにサインインします。
  2. タイトルを起動します。
  3. プロファイル関連の操作を実行する前に、タイトルが UI 内でアクティブなユーザーを示すことを確認します。「プロファイル関連の操作」の例としては、ユーザーの保存済みゲームや設定の変更、ユーザーのプロファイルへのデータの保存、実績の付与、ユーザーの統計情報の書き込み、またはその他のローカルまたはクラウドでのユーザー データや状態の使用や操作などがあります。
  4. セーブを作成します。
  5. タイトルを再起動し、プロファイル関連の操作を実行する前に、タイトルが UI 内でアクティブなユーザーを示すことを確認します。
  6. XBOX Live から切断します。
  7. タイトルを再起動し、プロファイル関連の操作を実行する前に、タイトルが UI 内でアクティブなユーザーを示すことを確認します。
期待される結果
タイトルは、最初のプロファイル関連の操作の前に、現在のユーザー コンテキストを示す必要があります。
合格例
  1. プロファイル関連の操作を実行する前に、タイトル内にユーザーのゲーマータグまたはゲーマー アイコン (あるいはその両方) が表示されます。
  2. ユーザー プロファイルを使用しないタイトルは、アクティブなユーザーを示しません。
  3. 複数のユーザーをサポートするゲーム モードで、タイトルに複数のアクティブなユーザーが表示されます。
不合格例
  1. プロファイル関連の操作を実行する前に、タイトルがタイトルのアクティブなユーザーを示しません。

112-05 アカウント ピッカーへのアクセス

テスト手順
  1. プロファイルにサインインし、タイトルを起動します。
  2. タイトルで、アクティブなユーザーがタイトル内のアカウント ピッカーにアクセスし、別のプロファイルを選択できることを確認します。
期待される結果
タイトルは、アクティブなユーザーを変更するために、ユーザーがタイトル内のアカウント ピッカーにアクセスできるようにする必要があります。
合格例
  1. タイトルで、ユーザーがタイトル内のアカウント ピッカーにアクセスできます。
不合格例
  1. タイトルで、ユーザーがタイトル内のアカウント ピッカーにアクセスできません。

112-06 プロファイルの変更の処理

テスト手順
  1. プロファイルにサインインし、タイトルを起動します。
  2. アカウント ピッカーにアクセスし、別のプロファイルを選択します。
  3. タイトルが適切に対応し、アクティブなユーザーのコンテキストを新しいプロファイルに切り替えることを確認します。
  4. アカウント ピッカーにアクセスできるタイトル内のすべての場所で、手順 1 - 4 を繰り返します。
期待される結果
タイトルは、ユーザーが別のユーザーのコンテキストにシームレスに変更できるようにする必要があります。
合格例
  1. タイトルが、アクティブなユーザーを変更するとデータが失われる可能性があることをユーザーに通知し、アカウント ピッカーに進む前にユーザーに確認を求めます。
  2. タイトルが、新しいアクティブなユーザーのコンテキストに適切に更新されます。
不合格例
  1. タイトルが、新しいアクティブなユーザーのコンテキストに適切に更新されません。

112-07 制約モード中のユーザーの変更

テスト手順
  1. プロファイル A にサインインし、タイトルを起動します。
  2. タイトル内のさまざまな場所で、XBOX ボタンを押してタイトルを制約状態にします。
  3. タイトルが制約状態にある間に、プロファイル A からサインアウトし、プロファイル B にサインインします。
  4. タイトルを再開します。
  5. タイトルが新しいアクティブなユーザーに適切に対応することを確認します。
期待される結果 タイトルが制約モードから再開されたとき、タイトルは以前に関与していたすべてのユーザーが引き続き本体にサインインしているかどうかを確認する必要があります 合格例
  1. 再開時に、アプリケーションがアクティブなユーザーのコンテキストをプロファイル B に自動的に切り替えます。
  2. ゲーム タイトルがプロファイル A をタイトルから自動的に削除するか、新しいユーザーを再設定し、ゲームプレイにその新しいユーザーの状態を使用します。
不合格例
  1. タイトルが更新されず、アクティブなユーザーとしてのプロファイル A がコンテキストから削除されません。
  2. 新しいプロファイルが選択された後も、ゲームがゲームプレイにプロファイル A の状態を使用し続けます。

112-08 中断中のユーザーの変更

製品版本体では、次の条件でゲームが中断されます。
  • 電源モードが [インスタントオン] に設定された状態で電源をオフにして、本体がコネクト スタンバイに入ったとき。
  • ゲームが 10 分間フォーカスを失ったままになったとき。たとえば、設定などのアプリケーションを起動して 10 分間フォーカスを保持した場合です。
このテスト ケースでは、手順 2 で両方の方法を検証する必要があります。 テスト手順
  1. XBOX プロファイルにサインインし、ゲームを起動します。
  2. ゲーム全体のさまざまな場所で、ゲームを中断します。
  3. ゲームが中断されている間に、プロファイル A からサインアウトし、プロファイル B にサインインします。
  4. ゲームを再開し、ゲームが新しいアクティブなユーザーに適切に対応することを確認します。
  5. 新しいアクティブなユーザーでゲームプレイに入り、ユーザーが進行できることを確認します。
期待される結果
  1. ゲームが中断から再開されたとき、ゲームは以前に関与していたすべてのユーザーが引き続き本体にサインインしているかどうかを確認する必要があります。
合格例
  1. 再開時に、ゲームがアクティブなユーザーのコンテキストをプロファイル B に自動的に切り替えます。
  2. ゲームがプロファイル A をゲームから自動的に削除するか、新しいユーザーを再設定し、ゲームプレイにその新しいユーザーの状態を使用します。
不合格例
  1. ゲームが更新されず、アクティブなユーザーとしてのプロファイル A がコンテキストから削除されません。
  2. 新しいプロファイルが選択された後も、ゲームがゲームプレイにプロファイル A の状態を使用し続けます。
最終更新日 2026年10月20日