Passer au contenu principal

Intégration de la découverte avec PlayFab Party

La découverte est le processus par lequel les utilisateurs se trouvent pour jouer ensemble. PlayFab Party ne fournit pas de mécanisme de découverte, mais peut être utilisé avec n’importe quel mécanisme existant assurant la communication entre utilisateurs.

Flux de base de création et de jonction

Un réseau PlayFab Party est créé par un utilisateur sur un client, annoncé, puis rejoint par d’autres utilisateurs sur différents clients.

Création d’un réseau

La première considération lors de l’utilisation d’un réseau PlayFab Party avec une session de jeu consiste à choisir le client et l’utilisateur qui créeront le réseau (PartyManager::CreateNewNetwork()). Du point de vue de PlayFab Party, peu importe l’utilisateur qui s’en charge ; n’importe quel utilisateur peut créer un réseau. Le créateur ne reçoit aucun privilège particulier au sein du réseau. Cependant, le client qui crée le réseau est chargé de :
  • définir la configuration réseau immuable (PartyNetworkConfiguration)
  • déterminer l’invitation initiale (PartyInvitationConfiguration)
  • annoncer le réseau aux autres utilisateurs
L’invitation initiale contient un identificateur et une liste d’utilisateurs autorisés à rejoindre le réseau. Les utilisateurs sont spécifiés sous la forme d’une liste d’ID d’entité title_player_account. La liste peut également être vide, ce qui permet à tout utilisateur disposant du descripteur de réseau et de l’identificateur d’invitation de rejoindre le réseau.

Annonce d’un réseau

Pour rejoindre un réseau PlayFab Party existant, un client a besoin de deux informations :
  • le descripteur de réseau
  • l’identificateur d’invitation
Un réseau PlayFab Party est identifié par un descripteur de réseau (PartyNetworkDescriptor). Il s’agit d’une structure en grande partie opaque qui encode les informations nécessaires pour établir une connexion au réseau. Le descripteur de réseau est fourni au client créateur une fois la création du réseau terminée (PartyCreateNewNetworkCompletedStateChange, PartyNetwork::GetNetworkDescriptor()). Pour faciliter le développement, PlayFab Party fournit des méthodes pour sérialiser et désérialiser le descripteur de réseau vers et depuis une chaîne adaptée au web (PartyManager::SerializeNetworkDescriptor(), PartyManager::DeserializeNetworkDescriptor()). Un identificateur d’invitation est une chaîne qui identifie une invitation de manière unique. Il est fourni par un client lors de la création explicite d’une invitation, ou lors de la création de l’invitation initiale au moment de la création du réseau. Si le client ne fournit pas d’identificateur d’invitation, un identificateur unique est généré. Pour annoncer le nouveau réseau aux autres utilisateurs, envoyez ces deux informations via n’importe quel moyen de communication approprié.

Rejoindre un réseau

Rejoindre un réseau est un processus en deux étapes. Un client qui souhaite rejoindre un réseau doit d’abord se connecter au réseau en fournissant le descripteur de réseau désérialisé à PartyManager::ConnectToNetwork(), puis authentifier un utilisateur en fournissant l’identificateur d’invitation à PartyNetwork::AuthenticateLocalUser().

Exemples de scénarios

Invitations sociales

Le scénario le plus simple est celui dans lequel un seul utilisateur crée une session de jeu et souhaite inviter d’autres utilisateurs connus via leur plateforme sociale commune. Le flux peut ressembler à ceci :
  • L’inviteur crée le réseau avec une invitation ouverte, ou une invitation contenant tous les utilisateurs avec lesquels il souhaite jouer.
  • Une fois le réseau créé, l’inviteur envoie le descripteur de réseau et l’identificateur d’invitation aux autres utilisateurs via le mécanisme d’invitation de la plateforme sociale.
  • Chaque utilisateur invité utilise le descripteur de réseau et l’identificateur d’invitation pour se connecter au réseau.
Lorsque vous spécifiez des utilisateurs dans une invitation, les ID d’entité title_player_account des utilisateurs sont utilisés. Ces ID d’entité doivent être obtenus en dehors de PlayFab Party.

Lobby

Si votre jeu fournit un lobby permettant d’envoyer des données entre les clients, celui-ci peut servir de moyen de communication pour échanger les informations de connexion réseau. Le flux peut ressembler à ceci :
  • Un ensemble d’utilisateurs est sélectionné pour jouer ensemble.
  • L’un de ces utilisateurs est désigné comme créateur.
  • Chaque utilisateur de l’ensemble envoie son ID d’entité title_player_account au créateur.
  • Le créateur crée le réseau en spécifiant les ID d’entité des utilisateurs dans la configuration de l’invitation initiale.
  • Une fois la création du réseau terminée, le créateur envoie le descripteur de réseau et l’identificateur de l’invitation initiale à l’ensemble des utilisateurs qui doivent rejoindre le réseau.
  • Chaque utilisateur utilise le descripteur de réseau et l’identificateur d’invitation pour se connecter au réseau.

Matchmaking

Un service de matchmaking, tel que PlayFab Matchmaking, peut être utilisé pour trouver une liste d’utilisateurs avec lesquels jouer. Le flux peut ressembler à ceci :
  • Les utilisateurs lancent une demande de correspondance auprès du service. L’ID d’entité title_player_account doit faire partie de la demande, car le résultat de la correspondance doit contenir l’ID d’entité de chaque utilisateur.
  • Les utilisateurs reçoivent un résultat de correspondance contenant l’ensemble des utilisateurs qui doivent faire partie du réseau.
  • Un algorithme prédéterminé est utilisé pour sélectionner l’utilisateur qui sera le créateur.
  • Le créateur crée le réseau en spécifiant les ID d’entité des autres utilisateurs mis en correspondance dans la configuration de l’invitation initiale.
  • Une fois la création du réseau terminée, le créateur utilise un moyen de communication externe pour envoyer le descripteur de réseau et l’identificateur de l’invitation initiale aux autres utilisateurs mis en correspondance.
  • Chaque utilisateur mis en correspondance utilise le descripteur de réseau et l’identificateur d’invitation pour se connecter au réseau.
Un moyen de communication externe est nécessaire pour envoyer les informations de connexion du créateur aux autres utilisateurs mis en correspondance.
Dernière modification le 8 octobre 2026