> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Game Development Kit のユーザー モデル

> Microsoft Game Development Kit のユーザー モデル

2022 年 6 月 GDK 以降、PC およびコンソール上のタイトルはユーザー モデルを選択できます。
ゲームの起動時に既定のユーザーが必要かどうかを選択できます。以前は、このオプションはコンソール上のみで利用可能でした (2021 年 4 月 GDK 以降)。

## 既定のユーザー必須 - 簡易ユーザー モデル

ゲームが必須の既定のユーザーを持つことを選択した場合、オペレーティング システムは起動前にサインインしているユーザーが存在することを保証します。さらに、そのユーザーがサインアウトした場合、コンソール上ではゲームがサスペンドされ、PC ではゲームが終了されます。既定のユーザーに対してサインアウト イベントを受け取ることはありません。これを簡易ユーザー モデルと呼びます。

ほとんどのゲームは 1 つのローカル ユーザー (および場合によっては多数のリモート ユーザー) を持つため、これによりユーザー管理を簡素化できます。すぐに AddDefaultUserSilently を指定して [XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md) を呼び出すことができ、UI なしにそのユーザーを確実に取得できることが 100% 保証されます。AddDefaultUserSilently を指定した [XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md) への以降のすべての呼び出しは、常にこの既定のユーザーを返します。

追加の利点として、これを使用してそのユーザーに関する情報を収集する際のレイテンシーを隠すこともできます。起動時に既定のユーザーを取得することが保証されているため、自身のバックエンド サービスに Web リクエストを送信してあらゆるデータを収集でき、ゲームのメイン メニューに到達する前に結果が返ることを合理的に期待できます。

ゲームは [XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md) を使用して追加のユーザーをゲームに自由に追加できます。既定のユーザーの場合とは異なり、ゲームはこれらの追加されたユーザーに対するサインアウト イベントを受け取ることができます。

ゲームを知らないユーザーがタイル経由でゲームを再起動した場合、ゲームの古いインスタンスは終了され、そのユーザーには新しく起動されたゲームのインスタンスが提供されます。

## 既定のユーザー不要 - 高度なユーザー モデル

これは、Microsoft Game Development Kit (GDK) におけるユーザー モデルの現在の動作です。この場合、起動時にサインインしているユーザーが存在する保証はありません。このオプションは、ユーザーの出入りが想定されるゲームに適しています。また、XBOX サービスと深く統合されていないゲームにも適したオプションです。

このオプションは高度なユーザー モデルとも呼ばれます。

## PC とコンソールでの簡易ユーザー モデルの違い

リテールでは、簡易ユーザー モデルの動作について PC とコンソールの間に大きな違いが 1 つあります。

* コンソール上では、既定のユーザーがサインアウトするとゲームがサスペンドされます。
* PC 上では、既定のユーザーがサインアウトするとゲームが終了されます。

開発中には、PC とコンソールの間にもう 1 つ大きな違いがあります。

* コンソール上では、簡易ユーザー モデルを使用しているルース デプロイのゲームは、既定のユーザーが既にサインインしていない限り、起動が許可されません。
* PC 上では、簡易ユーザー モデルを使用しているルース デプロイのゲームは、ユーザーなしで起動できます。ただし、ゲームが [XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md) を呼び出したとき、誰もサインインしていないと、ゲームは終了され、ユーザーのサインインを支援するために PC Bootstrapper が起動されます。ユーザーが XBOX ネットワークに完全にサインインしている限り、以降の起動は動作します。

## 関連項目

[Default User Required にオプトインする](https://docs.xbox.com/ja-jp/build/core-features/common/user/users-opting-into-simplified-model.md)


## Related topics

- [GDK のユーザー ID と XUser API](https://docs.xbox.com/ja-jp/build/core-features/common/user/index.md)
- [ユーザーと入力デバイス](https://docs.xbox.com/ja-jp/build/core-features/common/user/users-input-devices.md)
- [Game Chat 2 C++ API の使用](https://docs.xbox.com/ja-jp/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
- [Game Saves 開発者ガイド](https://docs.xbox.com/ja-jp/build/core-features/common/game-save/game-saves-developer-guide.md)
- [ユーザー](https://docs.xbox.com/ja-jp/build/core-features/common/user/user-toc.md)
