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
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 unTicketId.
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 porTicketId 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 elMatchId 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 alcanceGiveUpAfterSeconds, 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 unTicketId 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 estadoWaitingForPlayers. 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.
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.
