> ## 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.

# ユーザーとコントローラーの関連付けが発生するのはいつか?

> ユーザーとコントローラーの関連付けが発生するのはいつか?

コントローラーがユーザーに正しく関連付けられると、そのコントローラーの Nexus ボタンを押すことで、ガイドおよびダッシュボードにそのユーザーの個人向けエクスペリエンスが表示されます。ユーザーは、これがいつ発生するのかを理解し、制御できていると感じる必要があります。ユーザーとコントローラーの関連付けが変更されるたびに、[XUserDeviceAssociationChangedCallback](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md) が発生します。

新しい関連付けは、次の方法で形成できます。

* アカウント ピッカー が表示されるたびに。
* [XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md) の呼び出し。
* [XUserFindControllerForUserWithUiAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync.md) の呼び出し。
* コンソールに 1 人のユーザーがサインインしている場合、ユーザーが入力を行った最初のコントローラーがそのユーザーに関連付けられます。
* ユーザーが未関連付けのコントローラーを使用してゲームを起動 (または再起動) することを選択した場合、そのコントローラーは自動的にそのユーザーに関連付けられます。
* XBOX Accessories アプリを使用して、ユーザーは特定のコントローラーをユーザーに関連付けることができます。そのコントローラーの電源が入ると、指定したユーザーがサインインし、そのコントローラーがそのユーザーに関連付けられます。
* コントローラーにバッテリーを再度取り付けると、そのコントローラーが以前の所有者に自動的に再関連付けされます。

関連付けは次の場合に失われます。

* コントローラーの電源が切れる (例: バッテリー切れ)
* ユーザーがサインアウトする
* コントローラーが新しいユーザーに関連付けられる (元のユーザーは失われたことを取得します)

次の例は、コンソール上でコントローラーの関連付けがどのように変化し、どのイベントが発火し、ゲームがどのようなアクションを取る可能性があるかを示しています。

| ステップ | 説明 | ゲームのアクション | User A の状態 | User B の状態 |
| - | - | - | - | - |
| 1 | User A がサインインしており、コントローラー 1 でゲームを起動します。 | ゲームは *XUserDeviceAssociationChangedCallback* を登録し、*XUserAddAsync* を呼び出します。 | User A はゲームに認識されます。コールバックを介して、ゲームはコントローラー 1 が User A に関連付けられていることを知ります。 | N/A |
| 2 | ゲームプレイ中、ユーザーがホームに戻り、ゲームはまだ実行中です。 | | 変更なし | N/A |
| 3 | User A がコントローラー 1 で User B をサインインします。 | *XUserDeviceAssociationChangedCallback* が発火します。 | User A はまだゲームに認識されていますが、関連付けられているコントローラーはもうありません。 | User B はコンソールにサインインしていますが、ゲームからは見えません。彼らはコントローラー 1 に関連付けられています。 |
| 4 | User A がゲームに戻り、コントローラー 1 を引き続き使用します。 | ベスト プラクティスとして、ゲームは User A がコントローラーに正しく関連付けられていることを確認するために *XUserFindControllerForUserWithUiAsync* を呼び出す必要があります。 | User A は、選択したコントローラーに関連付けられます。 | User A が新しいコントローラーではなくコントローラー 1 を再選択した場合、User B はもうコントローラーに関連付けられていません。 |

## 関連項目

[XUserAddAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuseraddasync.md)

[XUserDeviceAssociationChangedCallback](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)

[XUserFindControllerForUserWithUiAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync.md)


## Related topics

- [ユーザー](https://docs.xbox.com/ja-jp/build/core-features/common/user/user-toc.md)
- [コントローラー損失への対処](https://docs.xbox.com/ja-jp/build/core-features/common/user/users-dealing-with-controller-loss.md)
- [XR-112 アクティブ化時と再開時のユーザーとコントローラーの設定](https://docs.xbox.com/ja-jp/publishing/certification/xr/xr-112.md)
- [XR112 初回アクティブ化時および再開時のユーザーとコントローラーの確立](https://docs.xbox.com/ja-jp/publishing/certification/fma/xr-112.md)
- [XUserFindControllerForUserWithUiAsync](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync.md)
