Le SDK PlayFab Multiplayer fournit également des API pour les lobbies PlayFab. * Pour plus d’informations sur les API C++, consultez le Démarrage rapide du SDK Lobby * Pour plus d’informations sur les API Unity, consultez le Démarrage rapide pour Unity * Pour plus d’informations sur les API Unreal, consultez le Démarrage rapide pour Unreal
Prérequis
Vous avez besoin d’un compte PlayFab pour utiliser PlayFab Matchmaking. Pour obtenir des instructions sur la création d’un compte, consultez Démarrage rapide : Game Manager.Configurer une file d’attente de matchmaking dans Game Manager
La bibliothèque met en correspondance les utilisateurs qui créent des tickets pour des files d’attente configurées dans Game Manager. Pour plus de détails sur la configuration d’une file d’attente, consultez Configuration des files d’attente de matchmaking.Télécharger et configurer le SDK PlayFab Multiplayer
Téléchargez le SDK C/C++ pour votre plateforme et intégrez l’en-tête du fournisseur et les fichiers de bibliothèque à votre build.Ce démarrage rapide porte sur l’utilisation du SDK C/C++. Pour les interfaces Unity et Unreal, consultez les articles suivants : * Démarrage rapide pour Unity * Démarrage rapide pour Unreal
Connecter une entité PlayFab
Pour utiliser le SDK PlayFab Lobby, vous devez authentifier votre client à l’aide de clés d’entité et de jetons d’entité PlayFab. Obtenez une paire clé d’entité/jeton PlayFab en vous connectant avec l’API REST LoginWithCustomId. Cette API est également disponible sous forme de projection C/C++ au moyen du SDK REST PlayFab.LoginWithCustomId est un moyen rapide de commencer à utiliser les fonctionnalités PlayFab, mais il ne s’agit pas du mécanisme de connexion à utiliser dans votre jeu publié. Pour obtenir des conseils sur la connexion, consultez Principes de base et pratiques exemplaires de connexion.
Initialiser le SDK PlayFab Multiplayer
Initialisez le SDK PlayFab Multiplayer en suivant ces étapes de base :- Initialisez le SDK en appelant PFMultiplayerInitialize
- Définissez la clé d’entité et le jeton utilisés par la bibliothèque pour le compte de vos joueurs en appelant PFMultiplayerSetEntityToken.
Créer un ticket de matchmaking
Vous créez un ticket de matchmaking à l’aide de PFMultiplayerCreateMatchmakingTicket, en spécifiant tous les utilisateurs locaux qui doivent faire partie de la correspondance et tous les attributs que vous souhaitez associer à ces utilisateurs. Cette fonction prend également une structure PFMatchmakingTicketConfiguration dans laquelle vous spécifiez la file d’attente à laquelle le ticket est destiné, un délai d’expiration pour le ticket et les utilisateurs distants que vous souhaitez inclure dans ce ticket.Matchmaking avec un seul utilisateur local
Vous pouvez démarrer le matchmaking pour un seul utilisateur local en appelant PFMultiplayerCreateMatchmakingTicket.Matchmaking avec un groupe d’utilisateurs distants
Pour démarrer un matchmaking de groupe avec des utilisateurs distants, il est utile de considérer l’un des clients comme le chef. Demandez au chef de créer le ticket à l’aide de PFMultiplayerCreateMatchmakingTicket, en spécifiant les autres utilisateurs du groupe au moyen du paramètre configuration. Une fois le ticket créé, appelez GetTicketId pour obtenir l’ID du ticket. Envoyez cet ID à chacun des autres utilisateurs par un mécanisme externe, comme un maillage réseau ou un lobby PlayFab partagé, et demandez à chaque client d’appeler PFMultiplayerJoinMatchmakingTicketFromId avec l’ID du ticket pour rejoindre le ticket de matchmaking. L’état du ticket est PFMatchmakingTicketStatus::WaitingForPlayers pendant l’attente des joueurs spécifiés, puis passe à PFMatchmakingTicketStatus::WaitingForMatch une fois que tous les joueurs ont rejoint le ticket.Matchmaking avec plusieurs utilisateurs locaux
Lors d’un matchmaking avec plusieurs utilisateurs locaux, au lieu de transmettre une seule PFEntityKey aux fonctions PFMultiplayerCreateMatchmakingTicket ou PFMultiplayerJoinMatchmakingTicketFromId, vous devez transmettre une liste de clés. De même, vous devez transmettre une liste d’attributs pour chaque utilisateur. Les positions des entrées de chaque liste doivent se correspondre. Autrement dit, la première entrée de la liste des attributs doit correspondre aux attributs du premier joueur de la liste PFEntityKey.Vérifier l’état du ticket de matchmaking
Vous devez vérifier les mises à jour du ticket en appelant PFMultiplayerStartProcessingMatchmakingStateChanges pour recevoir les changements d’état, puis en appelant PFMultiplayerFinishProcessingMatchmakingStateChanges lorsque vous avez terminé de traiter ces changements d’état. Le SDK retourne un changement d’état TicketStatusChanged chaque fois que l’état du ticket change, et un changement d’état TicketCompleted lorsque le matchmaking est terminé.Exemple d’utilisation du SDK client Matchmaking
Obtenir la correspondance
Après avoir reçu le changement d’état PFMatchmakingStateChangeType::TicketCompleted, appelez PFMatchmakingTicketGetMatch pour obtenir les détails de la correspondance. Ces détails contiennent l’ID de la correspondance, les utilisateurs qui ont été mis en correspondance, la région préférée pour la correspondance et une chaîne d’arrangement pour le lobby associé à la correspondance. Une fois que vous avez récupéré les informations dont vous avez besoin dans la structure PFMatchmakingMatchDetails, le ticket doit être détruit avec PFMultiplayerDestroyMatchmakingTicket.Exemple d’utilisation du SDK client Matchmaking
Annulation d’un ticket de matchmaking
Si, pour une raison quelconque, votre client souhaite annuler le processus de matchmaking avant l’expiration du délai défini dans laPFMatchmakingTicketConfiguration, appelez PFMatchmakingTicketCancel avec le handle du ticket.
L’appel de cette API ne garantit pas l’annulation du ticket. Le ticket peut encore se terminer avant que l’annulation puisse être traitée, ou la demande d’annulation peut échouer en raison d’erreurs réseau ou de service. Vous pouvez toujours traiter les changements d’état du matchmaking pour obtenir le résultat du ticket si vous souhaitez confirmer que l’annulation du ticket est terminée avant de continuer. Sinon, vous pouvez appeler immédiatement PFMultiplayerDestroyMatchmakingTicket.
Exemple d’utilisation du SDK client Matchmaking
(Facultatif) Réunir vos joueurs dans un lobby
Une fois vos joueurs mis en correspondance, ils peuvent se retrouver ensemble dans un lobby. La structure PFMatchmakingMatchDetails du ticket mis en correspondance contient un champ lobbyArrangementString, qui peut être utilisé pour réunir les utilisateurs dans le même lobby. Pour plus d’informations sur l’interaction entre Lobby et Matchmaking, consultez Utiliser le lobby et le matchmaking ensemble. Pour plus d’informations sur les lobbies PlayFab, consultez la Vue d’ensemble de PlayFab Lobby.Exemple d’utilisation du SDK client Matchmaking
Conclusion
Grâce à ce démarrage rapide, vous devriez maintenant disposer d’un flux de matchmaking fonctionnel dans votre jeu. Vous devez également tenir compte des points suivants :- La façon dont votre titre gère la formation des groupes.
- Ce que votre titre affiche pendant que les utilisateurs attendent une correspondance.
- La façon de gérer les échecs et les nouvelles tentatives.
