Vue d’ensemble de la conception
Pour intégrer MPA à PlayFab Lobby et Match ou à des services similaires, un titre ou un service de titre doit interroger les informations pertinentes de l’état du salon, puis transférer ces informations vers le service MPA. Le service MPA n’est pas destiné à contenir des informations d’état de salon ou de session.Activité
Pour une activité MPA, les informations sources doivent être les informations du salon sous-jacent. Un titre ou un service doit définir les informations pertinentes dans les champs de contenu de l’activité MPA en respectant les pratiques exemplaires suivantes :-
Fréquence de mise à jour
Le transfert d’état à partir des données du salon doit être effectué à une fréquence raisonnable pour refléter les modifications, comme les mises à jour des informations
CurrentPlayers. Les appels de mise à jour ne doivent pas dépasser les limites d’appels décrites dans Limitation du débit granulaire. L’activité MPA ne doit pas non plus être supprimée puis recréée pour mettre à jour les informations. -
Identité de l’utilisateur XBOX (XUID)
Le XUID d’un joueur est généralement une information non validée dans les services extérieurs aux services XBOX, et il ne constitue pas l’identificateur principal des services entre réseaux. PlayFab Lobby utilise pour les joueurs un ID d’entité utilisateur PlayFab entre réseaux, qui peut être converti en XUID pour l’utilisateur actif au moyen d’appels d’API ou de service. Pour plus de détails, consultez le Tutoriel : Obtenir un profil de joueur de PlayFab. Seul ce XUID résolu doit être considéré comme sécurisé.
Le XUID des autres joueurs ne peut pas être récupéré de cette manière. Pour y remédier, les XUID peuvent être fournis sous forme de propriétés de chaîne personnalisées d’un joueur dans le salon. Ces chaînes ne doivent pas être considérées comme sécurisées et doivent toujours être validées par le service PlayFab, à l’aide de
PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult, en comparant l’ID d’entité utilisateur PlayFab attendu et réel pour un XUID. Une non-concordance indique un XUID incorrect. Pour tous les services, les XUID fournis sous forme de chaînes non sécurisées ne sont pas fiables et peuvent, faute de validation, donner lieu à des attaques par usurpation d’identité. -
Chaîne de connexion
Pour l’intégration au service PlayFab Lobby, la chaîne de connexion d’une activité MPA doit être définie sur la chaîne de connexion du salon, qui peut être récupérée au moyen de
PFLobbyGetConnectionString. Les autres services doivent utiliser une chaîne d’accès équivalente. -
Refléter la possibilité de rejoindre le salon
Une activité est destinée à permettre aux joueurs de rejoindre des expériences de jeu, et elle doit correspondre à la possibilité de rejoindre l’état du salon sous-jacent. Une activité devient automatiquement impossible à rejoindre lorsqu’elle est complète (lorsque
CurrentPlayersatteint la valeurMaxPlayers). Les titres qui souhaitent rendre une activité temporairement impossible à rejoindre peuvent également utiliser ce comportement. Une activité ne doit être supprimée que lorsqu’aucun accès futur n’est possible. Notez que la modification du paramètre de confidentialité de l’activité ne fait que restreindre l’accès, sans pouvoir bloquer tous les accès. En raison de la latence de l’accès aux activités, les titres doivent toujours prévoir les flux dans lesquels des joueurs tentent de rejoindre des sessions complètes ou impossibles à rejoindre, et fournir au joueur les messages d’erreur appropriés. - Refléter les modifications de confidentialité L’état et les modifications de la confidentialité de l’activité au moyen des restrictions d’accès (Join Restrictions) doivent refléter la stratégie d’accès définie pour le PlayFab Lobby sous-jacent. Il en va de même pour les services similaires, ce qui peut nécessiter un mappage des valeurs de confidentialité.
Invitations
Pour les invitations MPA, la source recommandée doit également être les informations du salon sous-jacent. Cette bonne pratique est plus fiable qu’une invitation à un maillage réseau comme PlayFab Party et permet de fournir immédiatement des informations d’état au moyen des données du salon. Pour l’intégration au service PlayFab Lobby, la chaîne de connexion d’une invitation MPA doit être définie sur la chaîne de connexion du salon. Cette chaîne peut être récupérée au moyen dePFLobbyGetConnectionString. En outre, la valeur appropriée d’accès multiplateforme doit être définie pour l’invitation.
