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

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

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

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

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

* Account Picker が表示されるたびに。
* [XUserAddAsync](/reference/system/xuser/functions/xuseraddasync) の呼び出し。
* [XUserFindControllerForUserWithUiAsync](/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync) の呼び出し。
* コンソールに 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](/reference/system/xuser/functions/xuseraddasync)

[XUserDeviceAssociationChangedCallback](/reference/system/xuser/functions/xuserdeviceassociationchangedcallback)

[XUserFindControllerForUserWithUiAsync](/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync)


## Related topics

- [ユーザー](/ja-jp/build/core-features/common/user/user-toc.md)
- [コントローラー損失への対処](/ja-jp/build/core-features/common/user/users-dealing-with-controller-loss.md)
- [FMA XR-112: 起動時および再開時のユーザーとコントローラー](/ja-jp/publishing/certification/fma/xr-112.md)
- [XR-112 アクティベーション時のユーザーとコントローラーの確立](/ja-jp/publishing/certification/xr/xr-112.md)
- [XUserFindControllerForUserWithUiAsync](/ja-jp/reference/system/xuser/functions/xuserfindcontrollerforuserwithuiasync.md)
