Skip to main content

Inicio rápido de la API REST de Matchmaking

Le recomendamos encarecidamente que considere usar los SDK multijugador, ya que incluyen compatibilidad con mensajes en tiempo real que reduce la necesidad de sondeo. Esto mejorará la experiencia de emparejamiento y reducirá los retrasos. Inicio rápido: SDK de cliente
Esta guía de inicio rápido le acompaña por todo el proceso de integración de la característica de emparejamiento. Todos los ejemplos de código de este inicio rápido son para Unity; sin embargo, los conceptos y el flujo se aplican (en general) también a otras plataformas. En función del diseño de su juego, considere la sección de emparejamiento de un solo usuario o de varios usuarios. Este tutorial ilustra cómo enviar un ticket a una cola específica para encontrar una partida. Una cola probablemente se corresponda con un modo de juego o con varios modos de juego (por ejemplo, un modo de capturar la bandera y un modo rey de la colina en la misma cola). El servicio de emparejamiento se encarga de encontrar una partida entre los tickets de una cola. Cuando se encuentra una partida, el título debe encargarse de conectar a los jugadores entre sí para jugar.

Configurar una cola de emparejamiento en Game Manager

Este inicio rápido presupone que ha configurado sus colas en Game Manager. Para obtener detalles sobre cómo configurar una, consulte Configuración de colas de emparejamiento.

Emparejamiento con ticket de un solo usuario

Si su juego tiene un modo de juego 1 contra 1, o admite que un solo usuario entre en el emparejamiento por sí mismo, considere el emparejamiento de un solo usuario. El emparejamiento de un solo usuario sigue el patrón que se ilustra a continuación.

Crear un ticket de emparejamiento

Un usuario crea un ticket de emparejamiento mediante CreateMatchmakingTicket. Cuando la creación del ticket se realiza correctamente, el servicio devuelve un TicketId. La creación del ticket requiere que especifique el Creator (la identidad y los atributos del usuario), GiveUpAfterSeconds (el tiempo en segundos antes de que el servicio deje de intentar emparejar el ticket) y el QueueName en el que buscar una partida. El campo Creator debe contener los atributos de usuario requeridos por la configuración de la cola correspondiente al QueueName. Un buen valor para el tiempo de GiveUpAfterSeconds es 120 segundos, para evitar que los usuarios abandonen por su cuenta.

Comprobar el estado del ticket de emparejamiento

Debe sondear el servicio por TicketId para acceder al Status del ticket en el emparejamiento. Para ello, haga que el título llame a GetMatchmakingTicket. Puede sondear hasta 10 veces por minuto. Por ejemplo, sondee el estado del ticket cada 6 segundos. El sondeo puede aumentar los retrasos al recuperar el estado del ticket. Por este motivo, le recomendamos encarecidamente que considere usar el método del SDK multijugador que se describe en Inicio rápido: SDK de cliente. Esto evita la necesidad de sondear gracias a la funcionalidad de mensajes en tiempo real. Cuando el estado del ticket cambia a Matched, el cliente puede dejar de sondear el ticket. A partir de ese momento, el ticket incluirá el MatchId.

Obtener la partida

Desde el cliente, llame a GetMatch con el MatchId proporcionado en la respuesta de GetMatchmakingTicket. Esta partida contiene la lista de usuarios que se han emparejado entre sí.

Cancelación de un ticket de emparejamiento

Si por algún motivo su cliente desea cancelar el proceso de emparejamiento antes de que se alcance GiveUpAfterSeconds, llame a CancelMatchmakingTicket con el TicketId. Si aún no se ha encontrado una partida, el ticket se retira del proceso de emparejamiento y su estado cambia a Canceled.

Emparejamiento con ticket de varios usuarios

Si su juego permite que grupos de jugadores entren juntos en una cola de emparejamiento, hay que hacer algunas cosas más para entrar en el emparejamiento. Le aconsejamos que el título asigne un líder de grupo (el creador), para evitar realizar llamadas innecesarias. El líder crea el ticket, pero todos los miembros del grupo deben dar su consentimiento para unirse a él.

Crear un ticket de emparejamiento (varios usuarios)

El grupo debe elegir un creador de ticket en el título. El creador crea un ticket de emparejamiento mediante CreateMatchmakingTicket, que devuelve un TicketId si se realiza correctamente. La creación del ticket requiere que especifique el Creator (la identidad y los atributos del usuario), GiveUpAfterSeconds (el tiempo en segundos antes de que el servicio deje de intentar emparejar el ticket), MembersToMatchWith (las identidades de los demás miembros del grupo) y el QueueName en el que buscar una partida. El campo Creator debe contener los atributos de usuario requeridos por la configuración de la cola correspondiente al QueueName. Un buen valor para el tiempo de GiveUpAfterSeconds es 120 segundos, para evitar que los usuarios abandonen por su cuenta.

Los miembros del grupo se unen al ticket de partida

Una vez creado el ticket de partida, los demás miembros del grupo tienen que unirse a él para avanzar en el proceso de emparejamiento. En este momento, el ticket está en el estado WaitingForPlayers. No comenzará a emparejarse con otros tickets hasta que todos los MembersToMatchWith se hayan unido al ticket. Para que los miembros se unan, el Creator debe compartir el TicketId con los demás miembros a través del título. Cada miembro llama entonces a JoinMatchmakingTicket, proporcionando sus propios atributos requeridos. Una vez que todos los miembros se han unido al ticket, el estado del ticket pasa a ser WaitingForMatch.
El resto del proceso es el mismo que el del emparejamiento con ticket de un solo usuario

Conexión de los jugadores entre sí

Una vez que los jugadores se hayan emparejado, querrá que se unan entre sí, ya sea a través de un servidor o mediante conexiones punto a punto. Si usa un servidor dedicado, puede basarse en el identificador de la partida para identificar de forma única el grupo de jugadores al que deben pertenecer. Si usa los servidores multijugador de PlayFab, GetMatch proporciona un servidor y un puerto para que los jugadores se conecten. Para obtener más información, consulte Integración con PlayFab Multiplayer Servers. A partir de esta versión, la conexión punto a punto no se admite oficialmente en el emparejamiento. Si se requiere punto a punto, considere usar PlayFab Party o una solución alternativa provisional. Póngase en contacto con nosotros para obtener más ayuda al respecto.

Conclusión

Con este inicio rápido, ahora debería tener un flujo de emparejamiento funcional en su juego. Además, debería tener en cuenta lo siguiente:
  • Cómo controla el título la formación de grupos.
  • Qué muestra el título mientras los usuarios esperan una partida.
  • Cómo controlar los errores y los reintentos.
Última modificación el 28 de agosto de 2026