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

# Azure PlayFab Party

> Azure PlayFab Party

このトピックを使用して、Microsoft Game Development Kit (GDK) で PlayFab Party を使用する方法を理解してください。[PlayFab Party](https://learn.microsoft.com/gaming/playfab/features/multiplayer/networking/) は、柔軟で、包摂的で、安全な方法で、ゲームに低レイテンシのチャットとデータ通信を追加することを簡素化します。Party は、クラウド ホスト型の専用サーバーが望まれない場合 (「ピアツーピア ゲーム」または「P2P ゲーム」と呼ばれることがあります) のマルチプレイヤー実装に理想的です。Party は、たとえゲーム ホストとしてクラウド サーバーを使用している場合でも、アプリ内のソーシャル体験 (たとえば、ゲーム内チームやゲーム後のロビー) のための音声およびテキスト通信を強化します。Party は、XBOX One ERA Secure Sockets API の Microsoft Game Development Kit (GDK) 後継となります。

Party は Azure Cognitive Services を使用してユーザーの音声チャットを文字起こしし、テキストを音声として合成します。これは主にアクセシビリティ支援として設計されています。PlayFab Party の音声チャットの一般的な使用は、分単位で課金されます。これらの音声時間の最大 10% は、文字起こしと合成を無料で使用できます。この機能のアクティブ化は、アクセシビリティのユーザー設定に紐付けることをお勧めします。

<Note>
  Party はチャットをリアルタイムで翻訳することもできます。匿名のマッチメイキングや国際的な対戦ゲームでは、これらの文字起こしと翻訳機能により、より魅力的なマルチプレイヤー体験が提供されます。
</Note>

PlayFab Party (および他のマルチプレイヤー サービス) の重要な目標は、相互運用可能なマルチプレイヤー インフラストラクチャとクロスネットワーク ゲームプレイを促進することです。マルチプレイヤーおよびクロスネットワークのユーザー アクティビティに関する関連プラットフォーム ポリシーに、マルチプレイヤー体験が準拠していることを確認してください。

## PlayFab Party の機能

* **暗号化と認証:** Party は、ユーザーの PlayFab ユーザー ID を使用してユーザー デバイスを認証し、DTLS のようなプロトコルでデータを暗号化します。
* **デバイス間データグラム ネットワーキング:** Party の中核となるのは、Azure クラウド全体でグローバルにホストされるリレーです。ユーザー デバイスはこれらのリレーを使用して Party ネットワークを作成し、互いにゲーム データを送信します。Party ネットワーキング システムには、パケット損失に遭遇したときの自動再試行など、構成可能なトランスポート機能が含まれます。
* **音声およびテキスト チャット:** ユーザー デバイスは、リアルタイム音声チャットのためにオーディオ デバイスを Party ネットワークにバインドできます。Party はユーザー間のテキスト チャット メッセージもサポートします。
* **音声認識と音声合成:** Party は、ユーザーの音声チャットを文字起こしし、テキスト メッセージの発話を合成できます。この機能にはいくつかの用途がありますが、主にアクセシビリティ支援として設計されています。
* **リアルタイム翻訳:** Party は、ユーザーの音声およびテキスト チャットのリアルタイム翻訳を理解し合成できます。

## Microsoft Game Development Kit (GDK) の考慮事項

### XBOX サービスの要件

XBOX サービス タイトルのユーザー通信は、ユーザーの安全のためにいくつかの要件を満たす必要があります。PlayFab Party を PlayFab Party XBOX サービス プラグインと共に使用することで、タイトルがすべての XBOX サービス通信およびセキュリティ要件を満たしていることが保証されます。

<Note>
  *Xbox Requirement* (XR) は、XBOX プラットフォームで公開する前に満たされる必要があるゲームの要件です。
</Note>

* **XR-015:** プレイヤー コミュニケーションの管理。
* **XR-045:** XBOX サービスとアカウント特権。XBOX サービス プラグインは *XPRIVILEGE\_COMMUNICATIONS* 部分のみを強制します。タイトルが他の XBOX サービス機能を使用する場合、必要な特権チェックを実行する必要があります。
* **XR-072:** 音声のサポート。
* **XR-007**: クロスネットワーク プレイ、データ使用量、およびコンパニオン アプリの操作。PlayFab Party は、サーバーを必要とする *クロスネットワーク ゲームプレイ* 部分のみを強制します。必要な特権チェックと XBOX サービスの操作は、タイトルの責任です。
* **XR-064:** 参加可能なゲーム セッションとオンライン プレイ
* **XR-067:** マルチプレイヤー セッション状態の維持
* **XR-124:** ゲームの招待

## ネットワークの初期化

PlayFab Party は、Microsoft Game Development Kit (GDK) タイトルの [ネットワーク初期化](/build/console-features/networking/initialization-connectivity-networking) を自動的に処理しません。PlayFab Party を呼び出す前に、ネットワークが初期化されるのを待ってください。ネットワークが初期化されるまで、Party API は失敗します。

<a id="SuspendResume" />

## サスペンドと再開

`RegisterAppStateChangeNotification` を介してサスペンドおよび再開イベントを登録する必要があります。サスペンド時には、`PartyManager::Cleanup()` を使用して Party をクリーンアップします。再開時には、`PartyManager::Initialize()` を呼び出す前に、再度ネットワーク初期化を待つ必要があります。サスペンド/再開サイクルをまたいで Party API を使用しようとすると、API は失敗します。

`PartyManager::Cleanup()` の完了には数百ミリ秒かかることがあります。サスペンド タイムアウトを回避するため、他のサスペンド操作と並行して Party をクリーンアップすることをお勧めします。`PartyManager::Cleanup()` を非同期で呼び出す場合、Party のクリーンアップが戻るまでサスペンド通知をブロックするようにしてください。

## 価格情報

PlayFab Party は、XBOX サービス ID を使用する Microsoft Game Development Kit (GDK) では無料です。価格と課金の詳細については、[XBOX サービス無料プログラム FAQ](https://learn.microsoft.com/gaming/playfab/multiplayer/networking/xbl-discount) を参照してください。

## PlayFab ポータルでタイトルを構成する

1. [https://developer.playfab.com/](https://developer.playfab.com/) に移動して、アカウントを作成します。
2. 新しいアカウントを使用して、PlayFab スタジオとタイトル ID を作成します。
3. 新しく作成したタイトルに移動し、**\[Multiplayer]** セクションを選択して、**\[Party (Preview)]** タブを選択します。
4. **\[Enable]** を選択し、アクセス コード **XBOX Live** を入力します。しばらくすると Party が有効化されます。
5. **\[API Features]** タブで、PlayFab タイトル ID とエンティティ ICD をコピーします。
6. タイトル ID とエンティティ ICD をクライアント PlayFab Party API 初期化関数に追加します。これで、Microsoft Game Development Kit (GDK) タイトルで PlayFab Party を使用できるようになりました。

詳細については、[クイックスタート: Game Manager](/services/playfab/live-service-management/gamemanager/quickstart) を参照してください。

## Visual Studio を使用して Microsoft Game Development Kit (GDK) プロジェクトに PlayFab Party ライブラリを追加する

1. Visual Studio ソリューション エクスプローラーでプロジェクトを右クリックし、**\[プロパティ]** を選択します。
2. **\[構成プロパティ]** で、**\[XBOX One]** セクションに移動します。
3. **\[Gaming Extension Libraries]** ドロップダウン リストを選択し、PlayFab Party および XBOX Live Helper への参照を追加します。

<Note>
  ライブラリは既定の場所 *Program Files (x86)\Microsoft GDK\[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\x64* (2024 年 10 月以降) -あるいは- *Program Files (x86)\Microsoft GDK\[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\CommonConfiguration\neutral* (2024 年 6 月以前) にインストールされます。
</Note>

## PlayFab Party とサンドボックス

サンドボックス用の PlayFab Party の構成は必要ありません。すべてのネットワーク セッションは、デプロイされるサンドボックスに関係なく、製品版環境で割り当てられます。テスト用にユーザーを分離する必要がある場合は、テスト環境と製品版環境用に別々の PlayFab タイトル ID を作成してください。PlayFab タイトル ID は XBOX サービス タイトル ID から独立しています。1 つの XBOX サービス タイトル ID は、複数の異なる PlayFab タイトル ID を使用できます。

## 関連情報

[PlayFab Party の概要](https://learn.microsoft.com/gaming/playfab/features/multiplayer/networking/)


## Related topics

- [優先ローカル UDP マルチプレイヤー ポート ネットワーキング API](/ja-jp/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking.md)
- [Azure PlayFab Party SDK for Unity](/ja-jp/build/console-features/networking/game-mesh/party-unity-plugin.md)
- [Azure PlayFab Party オンライン サブシステム for Unreal](/ja-jp/build/console-features/networking/game-mesh/party-unreal-online-subsystem.md)
- [Microsoft Azure PlayFab Party を使用したチャットの追加](/ja-jp/services/xbox-services/multiplayer/chat/playfab-party-intro-chat.md)
- [XAG 120: コミュニケーション体験](/ja-jp/build/game-principles/accessibility/xag-deep-dives/xag-120-communication-experiences.md)
