Vue d’ensemble de la bibliothèque d’assistance XBOX Live
La bibliothèque d’assistance XBOX Live pour PlayFab Party est conçue pour aider les jeux qui utilisent PlayFab Party à respecter les stratégies XBOX Live relatives à la communication (XR-015 et XR-045). La bibliothèque d’assistance XBOX Live est disponible sur Nuget.org.Compatibilité avec la bibliothèque PlayFab Party
Bien que nous nous efforcions de limiter les changements incompatibles dans nos API, certaines modifications apportées à l’API PlayFab Party peuvent amener la bibliothèque d’assistance XBOX Live à renvoyer des valeurs erronées. Consultez le tableau ci-dessous pour vous assurer que les versions de vos bibliothèques sont compatibles.Suivi des utilisateurs XBOX Live
La bibliothèque d’assistance XBOX Live pour PlayFab Party doit être explicitement informée des utilisateurs XBOX Live participant actuellement à la session Party. Il est recommandé que les titres informent la bibliothèque en écoutant les modifications de leur document de session multijoueur et en reflétant cette liste dans la bibliothèque d’assistance XBOX Live viaPartyXblManager::CreateLocalChatUser et PartyXblManager::CreateRemoteChatUser.
Pour les utilisateurs locaux :
PartyChatControlCreatedStateChange pour les contrôles de chat distants.
Pour les utilisateurs de chat locaux comme distants, il est important de garder à l’esprit que la bibliothèque Party principale identifie les utilisateurs et les contrôles de chat via des ID d’entité PlayFab, tandis que la bibliothèque d’assistance XBOX Live identifie les utilisateurs de chat avec des ID d’utilisateur XBOX. Il est donc souvent nécessaire de convertir les uns en les autres. Pour plus d’informations, consultez Correspondance entre les ID d’utilisateur XBOX Live et les ID d’entité PlayFab.
Création de PartyLocalChatControls à partir de PartyXblLocalChatUsers
Les objetsPartyXblLocalChatUser ne sont souvent utiles que lorsqu’ils sont associés à des objets PartyLocalUser et PartyLocalChatControl de la bibliothèque Party. La génération d’objets PartyLocalUser et PartyLocalChatControl nécessite que les titres connectent leurs utilisateurs à PlayFab et récupèrent l’entityId et le titlePlayerEntityToken de leurs utilisateurs. La connexion peut être effectuée via le SDK PlayFab CPP, mais si un titre prévoit d’utiliser les informations d’identification XBOX Live pour se connecter à PlayFab, il peut utiliser PartyXblManager::LoginToPlayFab pour éviter d’ajouter une dépendance supplémentaire.
L’exemple suivant montre comment la bibliothèque d’assistance XBOX Live peut vous aider à créer des objets PartyLocalUser et PartyLocalChatControl à partir d’objets PartyXblLocalChatUser. Pour plus d’informations sur la création d’objets PartyXblLocalChatUser, consultez Suivi des utilisateurs XBOX Live.
PartyXblManager::LoginToPlayFab, vous recevez un PartyXblLoginToPlayFabCompletedStateChange contenant le résultat de l’opération de connexion.
Respect des préférences d’accessibilité d’un utilisateur XBOX Live
L’objetPartyXblLocalChatUser expose certaines des préférences d’accessibilité de l’utilisateur XBOX Live qui sont pertinentes pour les sessions de chat Party. Les titres peuvent utiliser ces informations pour offrir une meilleure expérience à leurs joueurs en activant immédiatement certaines des fonctionnalités d’accessibilité de Party.
Respect des paramètres de confidentialité et des autorisations d’un utilisateur XBOX Live
Selon les stratégies XBOX Live, les titres ne doivent pas autoriser la communication via XBOX Live lorsque les paramètres de confidentialité ou les autorisations de l’utilisateur ne le permettent pas. La bibliothèque d’assistance XBOX Live vous aide à y parvenir en vous permettant d’interroger lesPartyChatPermissionOptions les plus restrictives autorisées par les stratégies XBOX Live entre deux utilisateurs. Chaque fois que cette valeur change, un PartyXblRequiredChatPermissionInfoChangedStateChange est généré par la bibliothèque. Les PartyChatPermissionOptions mises à jour peuvent être obtenues en appelant PartyXblLocalChatUser::GetRequiredChatPermissionInfo().
PartyXblRequiredChatPermissionInfoChangedStateChange est généré pour vous informer qu’une valeur PartyChatPermissionOptions mise à jour est désormais disponible.
PartyXblChatPermissionInfo contient deux informations :
- Un masque
PartyChatPermissionOptionsqui peut être soit transmis tel quel àPartyLocalChatControl::SetPermission(), soit utilisé comme masque binaire si vous disposez déjà d’une valeurPartyChatPermissionOptionsque vous souhaitez utiliser tout en vous assurant de respecter les stratégies XBOX Live. - Une valeur
PartyXblChatPermissionMaskReasonqui fournit des informations supplémentaires sur la valeur dePartyXblChatPermissionInfo::chatPermissionMask
Respect des autorisations de communication inter-réseaux
Les titres qui prennent en charge le jeu et la communication inter-réseaux entre joueurs XBOX Live et joueurs non XBOX Live doivent vérifier les autorisations de communication avant d’autoriser la communication entre ces joueurs. La bibliothèque d’assistance XBOX Live fournit ces informations viaPartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting(). Cette méthode renvoie une énumération PartyXblCrossNetworkCommunicationPrivacySetting avec trois valeurs possibles :
Correspondance entre les ID d’utilisateur XBOX Live et les ID d’entité PlayFab
De nombreux titres XBOX Live utilisant PlayFab Party doivent convertir les ID d’utilisateur XBOX Live (utilisés dans tout l’écosystème XBOX Live) en ID d’entité PlayFab (utilisés par PlayFab Party), et inversement. À l’aide dePartyXblManager::GetEntityIdsFromXboxLiveUserIds, les titres peuvent récupérer une liste d’ID d’entité PlayFab correspondant à une liste donnée d’ID d’utilisateur XBOX Live. Les titres sont censés disposer déjà d’une liste d’ID d’utilisateur XBOX Live grâce à un service de liste externe, comme le Multiplayer Session Directory. En associant les ID d’utilisateur XBOX Live de la liste à leurs ID d’entité PlayFab, nous pouvons construire une correspondance de tous les ID d’entité PlayFab correspondant à la liste de votre session de jeu. Cette correspondance peut ensuite être utilisée pour associer les objets PartyEndpoint et PartyChatControl aux utilisateurs XBOX Live correspondants.
Chaque ID d’utilisateur XBOX Live ne correspond à un ID d’entité PlayFab que si cet utilisateur XBOX Live a déjà été lié à un compte PlayFab. Un compte PlayFab est automatiquement créé et lié la première fois que
PartyXblManager::LoginToPlayFab est appelé pour un utilisateur XBOX donné. Les utilisateurs du SDK PlayFab peuvent également utiliser l’API LoginWithXbox pour obtenir le même résultat.PartyXblLocalChatUser local est utilisé pour s’authentifier auprès de PlayFab. Si l’utilisateur ne s’est pas connecté auparavant à PlayFab par un appel à PartyXblManager::LoginToPlayFab, la bibliothèque d’assistance XBOX Live doit authentifier l’utilisateur en arrière-plan.
PartyXblManager::GetEntityIdsFromXboxLiveUserIds, vous recevez un PartyXblGetEntityIdsFromXboxLiveUserIdsCompletedStateChange contenant le résultat de l’opération. Ce résultat peut être utilisé pour construire ou mettre à jour vos correspondances.
Considérations particulières pour Windows
Sous Windows, la bibliothèque d’assistance XBOX Live a besoin de l’aide du titre pour obtenir des jetons XBOX Live. La bibliothèque demande des jetons en générant unPartyXblTokenAndSignatureRequestedStateChange. Le titre peut utiliser la XBOX Authentication Library (XAL) pour répondre à ces demandes. Confier ce travail au titre garantit qu’il conserve le contrôle total de toute gestion de l’interface utilisateur et de toute demande de consentement normalement associée à l’authentification des utilisateurs.
PartyXblManager::CompleteGetTokenAndSignatureRequest() avec le même correlationId que celui fourni au titre via le changement d’état.