Skip to main content
Este tema está pensado como una guía de inicio rápido para el uso básico de las API de cliente de Multiplayer Activity. Este tema trata la administración de actividades, el envío de invitaciones y la adición de jugadores a la lista de jugadores recientes. Actividades Invitaciones Jugadores recientes

Actividades

Establecimiento de una actividad

Siempre que un título inicia o se une a una experiencia multijugador, debe crear una actividad. Hacerlo permite que el shell, junto con otros jugadores de su título, vea la actividad del jugador y permite que otros jugadores puedan unirse a la partida en curso. Si un jugador quiere unirse a una actividad de su título y este no se está ejecutando, se activa y se le pasa la cadena de conexión. Los títulos deben actualizar la actividad a medida que los jugadores se unen o se van. Esto proporciona una vista más completa de la actividad a otros jugadores y les informa si la actividad está llena. Para obtener información sobre los campos de la actividad, consulte Contenido de la actividad. Un ejemplo de código para establecer una actividad es el siguiente. Se aplica tanto a la creación de una actividad como a la actualización de una actividad existente.
Para obtener más información, consulte lo siguiente: Volver al principio de este tema.

Obtención de actividades

Es posible que los títulos quieran conocer las actividades de otros jugadores. Por ejemplo, un título puede querer mostrar una interfaz dentro del juego con los amigos de un jugador en el título junto con sus actividades. Un ejemplo de código para recuperar una actividad es el siguiente.
Para obtener más información, consulte lo siguiente: Volver al principio de este tema.

Eliminación de una actividad

Cuando un jugador finaliza o abandona una actividad multijugador, el título debe eliminar la actividad mediante el código siguiente.
Para obtener más información, consulte lo siguiente: Volver al principio de este tema.

Invitaciones

Envío de invitaciones sin interfaz de usuario

Es posible que los jugadores quieran enviar invitaciones directamente a uno o varios jugadores. Antes de enviar una invitación, el título debe asegurarse de que hay una actividad establecida. Esto garantiza que haya continuidad entre el shell y su título, porque el shell envía invitaciones basadas en la actividad actual. Para enviar una invitación sin interfaz de usuario, después de establecer una actividad mediante XblMultiplayerActivitySetActivityAsync (consulte el ejemplo anterior), el título debe llamar a la API XblMultiplayerActivitySendInvitesAsync, pasando una matriz de jugadores a los que invitar y la misma cadena de conexión que se usa en su actividad actual. Para obtener información sobre el contenido de una invitación, consulte Envío de una solicitud para que otro jugador se una a una experiencia multijugador.. Un ejemplo de código para enviar invitaciones sin interfaz de usuario es el siguiente.
Para obtener más información, consulte lo siguiente:

Envío de invitaciones con interfaz de usuario

Es posible que los jugadores quieran enviar invitaciones directamente a uno o varios jugadores. Antes de enviar una invitación, el título debe asegurarse de que hay una actividad establecida. Esto garantiza que haya continuidad entre el shell y su título, porque el shell envía invitaciones basadas en la actividad actual. Para enviar una invitación con interfaz de usuario, después de establecer una actividad mediante XblMultiplayerActivitySetActivityAsync (consulte el ejemplo anterior), el título debe llamar a la API XGameUiShowMultiplayerActivityGameInviteAsync, pasando el usuario solicitante. Usará la actividad actual del título e invitará a los jugadores usando su cadena de conexión y su configuración. Para obtener información sobre el contenido de una invitación, consulte Envío de una solicitud para que otro jugador se una a una experiencia multijugador.. Un ejemplo de código para enviar invitaciones con interfaz de usuario es el siguiente.
Para obtener más información, consulte lo siguiente: Volver al principio de este tema.

Recepción de invitaciones

Para recibir una notificación cuando un jugador acepta una invitación, los títulos pueden registrarse para las notificaciones de invitación mediante XGameInviteRegisterForEvent. Cada vez que se acepta una invitación, se pasa al título un URI con formato a través de la devolución de llamada registrada. El URI se puede analizar para determinar el remitente de la invitación, el destinatario y la cadena de conexión. La cadena de conexión es específica del título y se establece cuando se crea la actividad multijugador. Para los títulos que usan el servicio Multiplayer Activity, el formato completo del URI se muestra en la tabla siguiente. Cuando ya no se necesiten las notificaciones de invitación, se puede anular el registro de la devolución de llamada mediante XGameInviteUnregisterForEvent. Un ejemplo de código para registrar y manejar las invitaciones aceptadas es el siguiente.
Para obtener más información, consulte lo siguiente: Volver al principio de este tema.

Jugadores recientes

Para actualizar la lista de jugadores recientes del jugador, el título debe enviar listas de otros jugadores que hayan tenido una interacción significativa con el jugador actual. La lista es unidireccional, lo que significa que el cliente de cada jugador es responsable de actualizar su propia lista, y las listas de los jugadores no afectan a las listas de los demás. Por ejemplo, suponga que un grupo de jugadores está junto en una sala previa a la partida y se emparejan. Cada jugador actualizaría su lista con todos los demás xuids de la sala cuando comience la partida. Si un nuevo jugador se uniera, podría escribirse individualmente.
Puede decidir qué define una interacción significativa. Para un título, podría ser estar presente en una sala. Para otro, podría ser que un jugador dispare a otro jugador. Para un tercero, podría ser simplemente que otro jugador sea visible en pantalla.
En escenarios en los que quizás no quiera que los equipos de jugadores sean visibles hasta que comience una sesión de partida, podría retrasar la escritura de la lista de jugadores hasta el momento en que quiera que sean visibles entre sí. Para vaciar la lista de jugadores recientes del lado cliente, puede llamar a XblMultiplayerActivityFlushRecentPlayersAsync si necesita un vaciado forzado inmediato. De lo contrario, la lista de jugadores recientes se vaciará automáticamente cada cinco segundos. Los ejemplos de código para actualizar la lista de jugadores recientes y vaciar las actualizaciones son los siguientes.

Actualización de jugadores recientes

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

Vaciado de jugadores recientes

Para obtener más información, consulte lo siguiente: Volver al principio de este tema.
Última modificación el 28 de agosto de 2026