Skip to main content

XBOX Live Helper ライブラリの概要

PlayFab Party 用の XBOX Live Helper ライブラリは、PlayFab Party を使用するゲームが通信に関連する XBOX Live ポリシー (XR-015 および XR-045) を満たすのを支援するために設計されています。XBOX Live Helper ライブラリは Nuget.org で利用可能です。

PlayFab Party ライブラリとの互換性

API の破壊的変更を最小限に抑えるように努めていますが、PlayFab Party API に加えられた一部の変更により、XBOX Live Helper ライブラリが誤った値を返す可能性があります。ライブラリのバージョンに互換性があることを確認するには、以下の表を参照してください。

XBOX Live ユーザーの追跡

PlayFab Party XBOX Live Helper ライブラリには、Party セッションに現在参加している XBOX Live ユーザーを明示的に通知する必要があります。タイトルは、マルチプレイヤー セッション ドキュメント の変更をリッスンし、PartyXblManager::CreateLocalChatUser および PartyXblManager::CreateRemoteChatUser を介してその名簿を XBOX Live Helper ライブラリに反映してライブラリに通知することが推奨されます。 ローカル ユーザーの場合:
この時点で、対応するローカル XBOX ユーザーの PartyLocalChatControl が既に存在する場合、SetCustomContext メソッドを介してこの PartyXblLocalChatUser に関連付けることができます。
そうでない場合は、この新しい PartyXblLocalChatUser を使用してチャット コントロールを生成し、それらを関連付けることができます。詳細については、PartyXblLocalChatUsers からの PartyLocalChatControls の作成 を参照してください。 リモート ユーザーの場合:
この時点で、対応するリモート XBOX ユーザーの PartyChatControl が既に存在する場合、SetCustomContext メソッドを介してこの PartyXblChatUser に関連付けることができます。
セッション ドキュメントへの更新とリモート チャット コントロールのリストへの更新は順序付けられない可能性があり、リモート チャット コントロールの PartyChatControlCreatedStateChange 更新を処理する際に同様の関連付けロジックが必要になる場合があることを念頭に置いてください。 ローカルおよびリモートのチャット ユーザーの両方について、コア Party ライブラリはユーザーとチャット コントロールを PlayFab Entity ID で識別するのに対し、XBOX Live ヘルパー ライブラリはチャット ユーザーを XBOX ユーザー ID で識別することを念頭に置くことが重要です。したがって、この 2 つの間の変換がしばしば必要になります。詳細については、XBOX Live ユーザー ID と PlayFab Entity ID 間のマッピング を参照してください。

PartyXblLocalChatUsers からの PartyLocalChatControls の作成

PartyXblLocalChatUser オブジェクトは、多くの場合、Party ライブラリの PartyLocalUser および PartyLocalChatControl オブジェクトに関連付けられている場合にのみ有用です。PartyLocalUser および PartyLocalChatControl オブジェクトを生成するには、タイトルがユーザーを PlayFab にログインさせ、ユーザーの entityIdtitlePlayerEntityToken を取得する必要があります。ログインは PlayFab CPP SDK を介して実行できますが、タイトルが XBOX Live 資格情報を使用して PlayFab にログインする場合は、追加の依存関係の取り込みを避けるために PartyXblManager::LoginToPlayFab を使用できます。 次のサンプルは、XBOX Live Helper ライブラリが PartyXblLocalChatUser オブジェクトから PartyLocalUser および PartyLocalChatControl オブジェクトを作成するのにどのように役立つかを示しています。PartyXblLocalChatUser オブジェクトの作成の詳細については、XBOX Live ユーザーの追跡 を参照してください。
PartyXblManager::LoginToPlayFab の呼び出し直後に、ログイン操作の結果を含む PartyXblLoginToPlayFabCompletedStateChange を受信します。

XBOX Live ユーザーのアクセシビリティ設定の尊重

PartyXblLocalChatUser オブジェクトは、Party チャット セッションに関連する XBOX Live ユーザーのアクセシビリティ設定の一部を公開します。タイトルはこの情報を使用して、Party のアクセシビリティ機能の一部をすぐに有効にすることで、プレイヤーに優れたエクスペリエンスを提供できます。

XBOX Live ユーザーのプライバシー設定とアクセス許可の尊重

XBOX Live ポリシーに従い、タイトルは、ユーザーのプライバシーまたはアクセス許可で許可されていない場合、XBOX Live を介した通信を許可してはなりません。XBOX Live Helper ライブラリは、XBOX Live ポリシーで許可されている 2 人のユーザー間の最も制限的な PartyChatPermissionOptions を照会できるようにすることで、これを実現するのに役立ちます。この値が変更されるたびに、ライブラリによって PartyXblRequiredChatPermissionInfoChangedStateChange が生成されます。更新された PartyChatPermissionOptions は、PartyXblLocalChatUser::GetRequiredChatPermissionInfo() の呼び出しによって取得できます。
XBOX Live ヘルパー ライブラリは、XBOX Live プライバシー サービスと通信することにより、各ローカル チャット ユーザーに関連する各リモート チャット ユーザーのプライバシーおよび特権設定を追跡します。さらに、ライブラリは リアルタイム アクティビティ 更新をサブスクライブすることにより、これらの設定の変更をリッスンします。新しいリモート チャット ユーザーが追加された場合、またはローカル チャット ユーザーと既存のリモート チャット ユーザー間のプライバシーおよび特権の関係が変更された場合、更新された PartyChatPermissionOptions 値が利用可能になったことを通知するために PartyXblRequiredChatPermissionInfoChangedStateChange が生成されます。
PartyXblChatPermissionInfo 構造体には、2 つの情報が含まれています:
  • PartyChatPermissionOptions マスク。PartyLocalChatControl::SetPermission() にそのまま渡すこともできますし、使用したい PartyChatPermissionOptions 値を既に持っているが、XBOX Live ポリシーを尊重していることを確認したい場合はバイナリ マスクとして使用することもできます。
  • PartyXblChatPermissionMaskReason 値。PartyXblChatPermissionInfo::chatPermissionMask の値に関する追加情報を提供します

クロスネットワーク通信のアクセス許可の尊重

XBOX Live プレイヤーと非 XBOX Live プレイヤー間のクロスネットワーク プレイと通信をサポートするタイトルは、それらのプレイヤー間の通信を許可する前に、通信のアクセス許可を確認する必要があります。XBOX Live Helper ライブラリは、PartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting() を介してこの情報を提供します。このメソッドは、3 つの可能な値を持つ PartyXblCrossNetworkCommunicationPrivacySetting 列挙型を返します:
XR-015 と、クロスネットワーク プレイと通信に関する詳細については、こちら を参照してください。

XBOX Live ユーザー ID と PlayFab Entity ID 間のマッピング

PlayFab Party を使用する多くの XBOX Live タイトルでは、XBOX Live ユーザー ID (XBOX Live エコシステム全体で使用される) と PlayFab Entity ID (PlayFab Party で使用される) の間で変換する必要があります。PartyXblManager::GetEntityIdsFromXboxLiveUserIds を使用すると、タイトルは、指定された XBOX Live ユーザー ID のリストに対応する PlayFab Entity ID のリストを取得できます。タイトルは、Multiplayer Session Directory のような外部名簿サービスの使用を通じて既に XBOX Live ユーザー ID のリストを持っていることが期待されます。名簿からの XBOX Live ユーザー ID をそれらの PlayFab Entity ID と関連付けることにより、ゲーム セッションの名簿に対応するすべての PlayFab Entity ID のマッピングを構築できます。このマッピングを使用して、PartyEndpoint および PartyChatControl オブジェクトを対応する XBOX Live ユーザーに関連付けることができます。
各 XBOX Live ユーザー ID は、この XBOX Live ユーザーが既に PlayFab アカウントにリンクされている場合にのみ PlayFab Entity ID にマップされます。PlayFab アカウントは、特定の XBOX ユーザーに対して初めて PartyXblManager::LoginToPlayFab が呼び出されたときに自動的に作成されリンクされます。または、PlayFab SDK のコンシューマーは LoginWithXbox API を使用して同じ結果を達成できます。
ローカル PartyXblLocalChatUser は PlayFab での認証に使用されます。ユーザーが以前に PartyXblManager::LoginToPlayFab の呼び出しで PlayFab にログインしていなかった場合、XBOX Live Helper ライブラリはバックグラウンドでユーザーを認証する必要があります。
PartyXblManager::GetEntityIdsFromXboxLiveUserIds の呼び出し直後に、操作の結果を含む PartyXblGetEntityIdsFromXboxLiveUserIdsCompletedStateChange を受信します。この結果を使用して、マッピングを構築または更新できます。
このようなマッピングを使用すると、タイトルは Party オブジェクトが XBOX Live ユーザーを表す時期を認識できます。

Windows に関する特別な考慮事項

Windows では、XBOX Live Helper ライブラリは、XBOX Live トークンを取得するためにタイトルからの支援が必要です。ライブラリは PartyXblTokenAndSignatureRequestedStateChange を生成することでトークンを要求します。タイトルは XBOX Authentication Library (XAL) を使用してこれらの要求を満たすことができます。この作業をタイトルにオフロードすることで、ユーザー認証に通常関連付けられている UI 処理と同意プロンプトを完全に制御し続けることができます。
XAL を使用してトークンと署名を取得する方法の詳細については、XBOX Authentication Library のドキュメント を参照してください。 トークンと署名を取得したら、状態変更を介してタイトルに提供された同じ correlationId を使用して PartyXblManager::CompleteGetTokenAndSignatureRequest() を呼び出すことで、XBOX Live Helper ライブラリに提供できます。
最終更新日 2026年9月1日