PlayFab Party XBOX Live Helper ライブラリ
PlayFab Party のコア ライブラリとともに、XBOX Live のポリシー、ひいては XR への準拠を支援するために設計された XBOX Live Helper ライブラリ を提供しています。この Helper ライブラリの使用は必須ではありませんが、強く推奨され、ベスト プラクティスとされています。本ドキュメントで示す例は、XBOX Live Helper ライブラリの使用を前提としています。PlayFab Party を XBOX Live ユーザーのチャット設定および権限に合わせる
PlayFab Party はチャット通信にオプトイン モデルを採用しており、既定では、2 つの チャット コントロール 間のすべての通信を、両参加者が有効にしている通信の集合に制限します。詳細については、チャット権限とミュート のドキュメントを参照してください。 PlayFab Party の XBOX Live Helper ライブラリ は、Party セッションで現在通信中の XBOX Live ユーザーの設定および権限に一致するように、どのチャット権限のセットを有効にすべきかを示します。詳細については、XBOX Live ユーザーのプライバシー設定と権限を尊重する のドキュメントを参照してください。 PlayFab Party と XBOX Live Helper ライブラリ を適切に活用することで、ゲームは XR-015 で規定された要件を完全に満たし、XR-045 で規定された関連する通信要件も満たすことができます。PlayFab Party の対象外のその他の要件については、XR-045 の技術ドキュメントを参照してください。マルチプレイヤー セッション ドキュメントの維持
PlayFab Party は XBOX ユーザー ロースターの機能を提供していません。ロースターの維持およびゲーム セッション内のユーザーと Party ネットワーク アクティビティの関連付けについては、ゲーム側で Multiplayer Session Directory サービス (MPSD) を使用する必要があります。PlayFab Party は、リモートの エンドポイント や チャット コントロール が Party ネットワーク に参加・退出するたびに通知します。これらのオブジェクトに関連付けられた PlayFab Entity ID を MPSD ドキュメント内の XBOX ユーザーと突き合わせることで、どの PlayFab Party オブジェクトがゲーム セッション内の XBOX ユーザーを表しているかを判別する必要があります。クロスプレイのシナリオでは、XBOX ユーザーに関連付けられていない PlayFab Entity は、別のマルチプレイヤー エコシステムのユーザーを表す場合があります。 XBOX ユーザーを識別するには、PlayFab Entity ID と XBOX Live ユーザー間のマッピングを構築する必要があります。これを実現するために、セッションの XBOX Live ユーザーのリストを MPSD ドキュメントに保存し、XBOX Live Helper ライブラリを使用してそれらの XBOX Live ユーザーを PlayFab Entity ID に変換することが推奨されます。例については、XBOX Live ユーザー ID と PlayFab Entity ID 間のマッピング を参照してください。 Party ネットワークのロースターを提供するだけでなく、MPSD ドキュメントは、マッチメイキング、プラットフォーム招待、最近プレイしたプレイヤーのリスト、参加型 (join-in-progress) など、XBOX マルチプレイヤー エコシステムにおける多くのマルチプレイヤー体験の基盤となります。これらの MPSD フローに Party ネットワークを組み込む方法の詳細については、PlayFab Party を MPSD と共に使用する を参照してください。 詳細については、MPSD の概要 を参照してください。クロスプレイの Party ネットワークで XBOX クライアントを使用する
クロスプレイのシナリオで XBOX Live エコシステムと対話する際は、以下のベスト プラクティスに留意してください。クロスネットワーク ゲーム セッションでプレイヤーを識別する
一意のプレイヤーは、マルチプレイヤー エコシステム全体で識別可能かつ区別可能である必要があります。このため、PlayFab Party はセッション内のユーザーに関連付けられる可能性のあるさまざまなオブジェクト (PartyLocalUser、PartyEndpoint、PartyChatControl) に PlayFab Entity ID を提供します。
クロスネットワーク表示名は PlayFab Party API では提供されません。UI に XBOX ユーザーを表示する場合は、そのゲーマータグを使用し、ゲーマータグは MPSD ドキュメント内の XBOX ユーザー ID から解決する必要があります。XBOX 以外のユーザーは、XR-007 のガイドラインに基づいて UI に表示する必要があります。プラットフォームから提供される表示名がない場合、PlayFab は GetPlayerProfile を通じて表示名をサポートします。ネットワークに参加する際は、他のプレイヤーが確認できるようにプレイヤーが自身の表示名を共有セッション ドキュメントに投稿する必要があります。
PlayFab Party ライブラリは、その一部のオブジェクトを PlayFab ユーザー (PlayFab Entity ID 経由) と関連付けますが、ライブラリは PlayFab ユーザーがどのマルチプレイヤー エコシステムに関連付けられているかを識別する機能を提供していません。XBOX Live の PlayFab ユーザーを他のマルチプレイヤー エコシステムのユーザーと区別するには、Party ネットワーク内の PlayFab Entity ID を MPSD と相互参照することを推奨します。MPSD を介した XBOX Live プレイヤーと非 XBOX Live プレイヤーの区別方法の詳細については、マルチプレイヤー セッション ドキュメントの維持 のセクションを参照してください。
XBOX Live とのクロスプレイ ネットワークにおけるユーザー識別の要件の詳細については、XR-007 を参照してください。
XBOX Live ユーザーのクロスネットワーク通信権限を尊重する
PlayFab Party は XBOX Live のクロスネットワーク通信制限に暗黙的に準拠するものではありません。そのため、PlayFab Party XBOX Live Helper ライブラリは XBOX Live ユーザーのクロスネットワーク通信権限を問い合わせるための機能を提供します。XR-007 に規定されているクロスネットワーク通信要件に準拠するために、この情報を使用する必要があります。 詳細については、クロスネットワーク通信を尊重する を参照してください。クロスプレイが許可されていない場合に PlayFab Party の招待を使ってネットワークへのアクセスを制限する
XBOX Live ユーザーは、クロスネットワーク ゲーム セッションで XBOX Live 以外のユーザーと対話するためには、クロスネットワーク権限が必要です。PlayFab Party はこれらのクロスネットワーク制限 (XR-007 に規定) に暗黙的には準拠しないため、この権限は PlayFab Party ライブラリの外部で問い合わせる必要があります。これらの権限が付与されていない場合、Party ネットワークはゲーム セッションの MPSD ドキュメント内で認識される XBOX Live ユーザーのみを許可するように制限する必要があります。これは、私たちのサンプルの 参加型 (join-in-progress) フロー を拡張し、既知の XBOX ユーザーのみがネットワークに参加できるようにする Party 招待を使用することで実現できます。 まず、Party ネットワークが制限された招待で作成されるようにします。XBOX Live ユーザー ID と PlayFab Entity ID の間で変換を行う必要があるため、両者の間のマッピングを構築することが推奨されます。方法の例については、XBOX Live ユーザー ID と PlayFab Entity ID 間のマッピング を参照してください。
XBOX Live プロファイル設定と同期を保つ
PlayFab Party は既定で XR-048 のプロファイル設定要件に準拠しています。このライブラリは XBOX Live プロファイル設定の永続キャッシュを保持しません。PlayFab Party の用途でプロファイル設定が必要となった場合、その設定は XBOX Live に問い合わされ、その設定に関連付けられた PlayFab Party API オブジェクトの存続期間中は有効ですが、オブジェクトの複数インスタンスをまたいで保持されることはありません。 PlayFab Party 以外での XBOX Live プロファイル設定データの使用については、XR-048 の技術ドキュメントを参照してください。プラットフォームのマルチプレイヤー参加フローをサポートする
XBOX では、プレイヤーは参加型 (join-in-progress) 機能やプラットフォーム招待機能を通じてマルチプレイヤー ゲームに参加できます。PlayFab Party はこれらのプラットフォーム機能と直接統合しませんが、PartyNetworkDescriptor および PartyInvitation オブジェクトを介した利用をサポートします。PartyNetworkDescriptor オブジェクトは、リモート ユーザーが Party ネットワークを発見して接続するために必要な接続情報を提供し、PartyManager::SerializeNetworkDescriptor によってシリアル化できます。PartyInvitation オブジェクトは、リモート ユーザーが Party ネットワークで認証されて参加するために使用する ID を提供します。参加型 (join-in-progress) やプラットフォーム招待経由でリモート ユーザーがマルチプレイヤー ゲームに参加できるようにするには、シリアル化されたネットワーク記述子と Party 招待識別子を既存のフローに統合してください。フローの例は PlayFab Party を MPSD と共に使用する のドキュメントにも記載されています。
プラットフォームのマルチプレイヤー参加フロー要件の詳細については、XR-064 および XR-124 の技術ドキュメントを参照してください。
フレンド リスト
PlayFab Party はどのプラットフォームでもフレンド リストとネイティブに対話しませんが、マルチプレイヤー ゲームでは異なるシナリオでフレンド リストを考慮する必要がある場合があります。XBOX Live およびクロスネットワーク フレンド リストと対話する際の要件およびガイダンスについては、以下のドキュメントを参照してください。- XBOX Live フレンド リスト要件 (XR-070)
- クロスネットワーク フレンド リスト要件 (XR-007)
- XBOX Social Manager
- XBOX Live Services API (XSAPI)
