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 ライブラリに反映してライブラリに通知することが推奨されます。
ローカル ユーザーの場合:
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 にログインさせ、ユーザーの entityId と titlePlayerEntityToken を取得する必要があります。ログインは 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() の呼び出しによって取得できます。
PartyChatPermissionOptions 値が利用可能になったことを通知するために PartyXblRequiredChatPermissionInfoChangedStateChange が生成されます。
PartyXblChatPermissionInfo 構造体には、2 つの情報が含まれています:
PartyChatPermissionOptionsマスク。PartyLocalChatControl::SetPermission()にそのまま渡すこともできますし、使用したいPartyChatPermissionOptions値を既に持っているが、XBOX Live ポリシーを尊重していることを確認したい場合はバイナリ マスクとして使用することもできます。PartyXblChatPermissionMaskReason値。PartyXblChatPermissionInfo::chatPermissionMaskの値に関する追加情報を提供します
クロスネットワーク通信のアクセス許可の尊重
XBOX Live プレイヤーと非 XBOX Live プレイヤー間のクロスネットワーク プレイと通信をサポートするタイトルは、それらのプレイヤー間の通信を許可する前に、通信のアクセス許可を確認する必要があります。XBOX Live Helper ライブラリは、PartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting() を介してこの情報を提供します。このメソッドは、3 つの可能な値を持つ PartyXblCrossNetworkCommunicationPrivacySetting 列挙型を返します:
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 を受信します。この結果を使用して、マッピングを構築または更新できます。
Windows に関する特別な考慮事項
Windows では、XBOX Live Helper ライブラリは、XBOX Live トークンを取得するためにタイトルからの支援が必要です。ライブラリはPartyXblTokenAndSignatureRequestedStateChange を生成することでトークンを要求します。タイトルは XBOX Authentication Library (XAL) を使用してこれらの要求を満たすことができます。この作業をタイトルにオフロードすることで、ユーザー認証に通常関連付けられている UI 処理と同意プロンプトを完全に制御し続けることができます。
correlationId を使用して PartyXblManager::CompleteGetTokenAndSignatureRequest() を呼び出すことで、XBOX Live Helper ライブラリに提供できます。