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

# PlayFabMultiplayer.SetEntityToken

> PlayFabMultiplayer.SetEntityToken

## メソッド (2 のうち 1)

エンティティに代わってライブラリのアクションを実行するときに、認証に使用するトークンを設定します。以前にトークンがそのエンティティに設定されていた場合、これは以前のトークンを置き換えます。

```csharp theme={null}
public static void SetEntityToken(PlayFabAuthenticationContext localMember)
```

| parameter   | description                                          |
| ----------- | ---------------------------------------------------- |
| localMember | エンティティとトークンを含む PlayFab PlayFabAuthenticationContext。 |

## 解説 (2 のうち 1)

このメソッドは、PlayFab のログイン メソッドが返す PlayFabAuthenticationContext `authContext` を受け取ります。ライブラリが、ロビーの作成や更新など、認証または承認を必要とするエンティティに代わって操作を実行するとき、ライブラリは操作に使用するそのエンティティに関連付けられたトークンを検索します。以前にトークンがそのエンティティに設定されていない場合、操作は同期的に失敗します。非同期操作の間、PlayFab サービスは、トークンが有効であること、有効期限が切れていないこと、指定されたエンティティ ID に関連付けられていること、および操作を実行する権限があることを検証します。これらの条件が満たされない場合、操作は失敗します。

PlayFab Entity Key と Entity Token は、PlayFab ログイン操作の出力から取得でき、その後このメソッドへの入力として渡すことができます。

指定された `authContext` は、[`Initialize`](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize) に渡されたのと同じ PlayFab Title ID を使用して取得されたものでなければなりません。

Multiplayer ライブラリは、提供された PlayFab Entity Token のコピーを保持し、[`CreateAndJoinLobby`](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/CreateAndJoinLobby) など、ローカル ユーザーの認証または承認を必要とする以降の操作で使用します。この呼び出しに提供されたトークンの有効期限が切れているか、そうでなくても無効である場合、有効なトークンを必要とする操作は失敗します。同じエンティティ キーを使用してこのメソッドを再度呼び出すことで、新しく有効なトークンを Multiplayer ライブラリに提供できます。

呼び出し元は、このメソッドに提供されたエンティティ トークンの有効期限を監視する責任があります。トークンが有効期限に近づいたり、有効期限を過ぎたりした場合は、PlayFab ログイン操作を実行して新しいトークンを取得し、このメソッドを再度呼び出して Multiplayer ライブラリに提供する必要があります。以前に提供されたトークンの有効期間の半分が経過した時点で、新しいトークンを取得することを推奨します。低電力状態に入る可能性があるプラットフォームや、その他の理由でアプリケーションの実行が長時間停止し、トークンが期限切れになる前に更新できないプラットフォームでは、実行が再開したらトークンの有効期限を確認する必要があります。

***

## メソッド (2 のうち 2)

エンティティに代わってライブラリのアクションを実行するときに、認証に使用するトークンを設定します。以前にトークンがそのエンティティに設定されていた場合、これは以前のトークンを置き換えます。

```csharp theme={null}
public static void SetEntityToken(PFEntityKey localMember, string entityToken)
```

| parameter   | description                        |
| ----------- | ---------------------------------- |
| localMember | トークンに関連付ける PlayFab Entity Key。     |
| entityToken | エンティティに関連付ける PlayFab Entity token。 |

## 解説 (2 のうち 2)

このメソッドは、*localMember* として PlayFab Entity Key を、*entityToken* として PlayFab Entity Token を受け取ります。ライブラリが、ロビーの作成や更新など、認証または承認を必要とするエンティティに代わって操作を実行するとき、ライブラリは操作に使用するそのエンティティに関連付けられたトークンを検索します。以前にトークンがそのエンティティに設定されていない場合、操作は同期的に失敗します。非同期操作の間、PlayFab サービスは、トークンが有効であること、有効期限が切れていないこと、指定されたエンティティ ID に関連付けられていること、および操作を実行する権限があることを検証します。これらの条件が満たされない場合、操作は失敗します。

PlayFab Entity Key と Entity Token は、PlayFab ログイン操作の出力から取得でき、その後このメソッドへの入力として渡すことができます。

指定された *localMember* および *entityToken* は、[`Initialize`](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize) に渡されたのと同じ PlayFab Title ID を使用して取得されたものでなければなりません。

Multiplayer ライブラリは、提供された PlayFab Entity Token のコピーを保持し、[`CreateAndJoinLobby`](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/CreateAndJoinLobby) など、ローカル ユーザーの認証または承認を必要とする以降の操作で使用します。この呼び出しに提供されたトークンの有効期限が切れているか、そうでなくても無効である場合、有効なトークンを必要とする操作は失敗します。同じエンティティ キーを使用してこのメソッドを再度呼び出すことで、新しく有効なトークンを Multiplayer ライブラリに提供できます。

呼び出し元は、このメソッドに提供されたエンティティ トークンの有効期限を監視する責任があります。トークンが有効期限に近づいたり、有効期限を過ぎたりした場合は、PlayFab ログイン操作を実行して新しいトークンを取得し、このメソッドを再度呼び出して Multiplayer ライブラリに提供する必要があります。以前に提供されたトークンの有効期間の半分が経過した時点で、新しいトークンを取得することを推奨します。低電力状態に入る可能性があるプラットフォームや、その他の理由でアプリケーションの実行が長時間停止し、トークンが期限切れになる前に更新できないプラットフォームでは、実行が再開したらトークンの有効期限を確認する必要があります。

## 関連項目

* method [Initialize](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize)
* class [PFEntityKey](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PFEntityKey/overview)
* class [PlayFabMultiplayer](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/overview)
* namespace [PlayFab.Multiplayer](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference)


## Related topics

- [PlayFabMultiplayerManager.Get().UpdateEntityToken](/ja-jp/services/playfab/multiplayer/networking/unity-party-api-reference/classes/playfabmultiplayermanager/methods/playfabunityupdateentitytoken.md)
- [PlayFabMultiplayer.Initialize](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer/Initialize.md)
- [PFMultiplayerSetEntityToken](/ja-jp/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayersetentitytoken.md)
- [PFMultiplayerInitialize](/ja-jp/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayerinitialize.md)
- [CreateServerBackfillTicket](/ja-jp/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/PlayFabMultiplayer.PlayFabMultiplayerServer/CreateServerBackfillTicket.md)
