Skip to main content
Este tema describe los pasos básicos que debes seguir para implementar el emparejamiento de SmartMatch mediante Multiplayer Manager. Es posible que un jugador no tenga suficientes amigos en línea cuando quiera jugar a un juego, o que simplemente quiera jugar contra jugadores aleatorios en línea. Puedes usar el servicio SmartMatch para encontrar otros jugadores de XBOX.

Buscar una partida

Los siguientes pasos usan Multiplayer Manager para enviar una invitación al amigo de un jugador de modo que ese amigo pueda unirse al juego en curso.
  1. Inicializar Multiplayer Manager
  2. Crear la sesión de sala agregando usuarios locales
  3. Enviar invitaciones a amigos (opcional)
  4. Aceptar invitaciones (opcional)
  5. Buscar una partida
Los pasos 1, 2, 3 y 5 se realizan en el dispositivo que realiza la invitación. El paso 4 normalmente se inicia en el dispositivo del invitado, tras el inicio de la aplicación mediante la activación de protocolo. Para obtener más información, consulta Jugar a un juego mediante el emparejamiento de SmartMatch (diagrama de flujo).

Inicializar Multiplayer Manager

El objeto de sesión de sala se crea automáticamente cuando Multiplayer Manager se inicializa con un nombre de plantilla de sesión válido. Las plantillas de sesión se definen en la configuración del servicio.
La instancia de la sesión de sala en el servicio no se crea hasta que se agrega un usuario.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerInitialize. Volver al principio de este tema.

Crear la sesión de sala agregando usuarios locales

Agrega a la sesión de sala los usuarios de los servicios XBOX que han iniciado sesión localmente. Se hospeda una nueva sala cuando se agrega el primer usuario. Todos los demás usuarios se agregan a la sala existente como usuarios secundarios. Multiplayer Manager anuncia la sala en el shell para que los amigos se unan. Solo puedes enviar invitaciones, establecer propiedades de la sala y acceder a los miembros de la sala después de haber agregado al usuario local. Cuando un usuario local se une a la sala, se recomienda establecer su dirección de conexión y las propiedades personalizadas. Debes repetir este proceso para todos los usuarios que han iniciado sesión localmente.

Agregar un único usuario local

API de C plana

Para obtener más información, consulta lo siguiente: Volver al principio de este tema.

Agregar varios usuarios locales

API de C plana

Para obtener más información, consulta lo siguiente: Los cambios se procesan por lotes en la siguiente llamada a XblMultiplayerManagerDoWork. Multiplayer Manager genera un evento XblMultiplayerEventType::UserAdded cada vez que se agrega un usuario local a la sesión de sala. Se recomienda comprobar el código de error del evento para ver si ese usuario se agregó correctamente. En caso de error, un mensaje de error proporciona detalles sobre los motivos del error. Multiplayer Manager realiza las siguientes funciones para crear la sesión de sala agregando usuarios locales.
  • Registrar las suscripciones de actividad en tiempo real y multijugador en el servicio multijugador de los servicios XBOX.
  • Crear la sesión de sala.
  • Unir a todos los jugadores locales como activos.
  • Cargar la dirección segura de dispositivo (SDA).
  • Establecer las propiedades de los miembros.
  • Registrarse para los eventos de cambio de sesión.
  • Establecer la sesión de sala como sesión activa.
Volver al principio de este tema.

Enviar invitaciones a amigos (opcional)

Muestra la interfaz de usuario estándar de XBOX en la que el jugador puede seleccionar amigos o jugadores recientes para invitarlos al juego. Cuando el jugador confirma su selección, Multiplayer Manager envía las invitaciones a los jugadores seleccionados. Los juegos también pueden usar el método XblMultiplayerManagerLobbySessionInviteUsers para enviar invitaciones a un conjunto de jugadores definidos por sus identificadores de usuario de los servicios XBOX. Este método es útil si usas tu propia interfaz de usuario del juego en lugar de la interfaz de usuario estándar de XBOX.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerLobbySessionInviteUsers. Multiplayer Manager realiza las siguientes funciones para enviar invitaciones a amigos.
  • Muestra la interfaz de usuario invocable por el título (TCUI) estándar de XBOX
  • Envía una invitación directamente a los jugadores seleccionados
Volver al principio de este tema.

Aceptar invitaciones (opcional)

Cuando un jugador invitado acepta una invitación de juego o se une al juego de un amigo mediante una interfaz de usuario del shell, el juego se inicia en su dispositivo mediante la activación de protocolo. Después de que se inicie el juego, Multiplayer Manager puede usar los argumentos del evento de activación de protocolo para unirse a la sala. Si el usuario invitado no se agrega mediante XblMultiplayerManagerLobbySessionAddLocalUser, XblMultiplayerManagerJoinLobby genera un error y proporciona el xuid para el que se envió la invitación al llamar a XblMultiplayerEventArgsXuid con el evento JoinLobbyCompleted. Después de unirte a la sala, se recomienda establecer la dirección de conexión del miembro local y las propiedades personalizadas del miembro. También puedes establecer el host mediante XblMultiplayerManagerLobbySessionSetSynchronizedHost si no existe ninguno. Por último, Multiplayer Manager unirá automáticamente al usuario a la sesión de juego si ya hay un juego en curso y hay espacio para el invitado. El título recibe la notificación mediante el evento JoinGameCompleted, que proporciona un código de error y un mensaje adecuados. Los resultados de error o de éxito se controlan mediante el evento JoinLobbyCompleted.

API de C plana

Para obtener más información, consulta lo siguiente: Multiplayer Manager realiza las siguientes funciones para aceptar invitaciones.
  • Registrar las suscripciones de actividad en tiempo real y multijugador.
  • Unirse a la sesión de sala.
  • Limpieza del estado de sala existente.
  • Unir a todos los jugadores locales como activos.
  • Cargar la SDA.
  • Establecer las propiedades de los miembros.
  • Registrarse para los eventos de cambio de sesión.
  • Establecer la sesión de sala como sesión activa.
  • Unirse a la sesión de juego (si existe).
  • Usar un identificador de transferencia.

Buscar partida

Después de que se hayan aceptado las invitaciones y el host esté listo para empezar a jugar, puedes usar SmartMatch para realizar una de las siguientes acciones: Antes de poder llamar a XblMultiplayerManagerFindMatch, primero debes configurar hoppers en la configuración del servicio. Un hopper define las reglas que SmartMatch usa para emparejar a los jugadores.

API de C plana

Para obtener más información, consulta XblMultiplayerManagerFindMatch. Multiplayer Manager realiza las siguientes funciones para buscar una partida.
  • Crear un vale de partida.
  • Controlar todas las fases de calidad de servicio (QoS).
  • Controlar los cambios en la lista de participantes.
  • Volver a enviar (si es necesario).
  • Unirse a la sesión de juego de destino.
  • Anunciar el juego mediante la sesión de sala.
Volver al principio de este tema.
Última modificación el 28 de agosto de 2026