Skip to main content

Integración de la detección con PlayFab Party

La detección es el proceso por el cual los usuarios se encuentran entre sí para jugar juntos. PlayFab Party no proporciona un mecanismo de detección, pero se puede usar con cualquier mecanismo existente que proporcione comunicación entre los usuarios.

Flujo básico de creación y unión

Una red de PlayFab Party la crea un usuario en un solo cliente, se anuncia y, a continuación, otros usuarios en clientes diferentes se unen a ella.

Creación de una red

La primera consideración al usar una red de PlayFab Party con una sesión de juego es elegir qué cliente y usuario crearán la red (PartyManager::CreateNewNetwork()). Desde la perspectiva de PlayFab Party, no importa qué usuario lo haga; cualquier usuario puede crear una red. El creador no recibe privilegios especiales dentro de la red. Sin embargo, el cliente que crea la red es responsable de:
  • establecer la configuración de red inmutable (PartyNetworkConfiguration)
  • determinar la invitación inicial (PartyInvitationConfiguration)
  • anunciar la red a otros usuarios
La invitación inicial contiene un identificador y una lista de los usuarios que pueden unirse a la red. Los usuarios se especifican como una lista de identificadores de entidad title_player_account. Alternativamente, la lista puede estar vacía, lo que permite unirse a cualquier usuario que tenga el descriptor de red y el identificador de invitación.

Anuncio de una red

Para unirse a una red de PlayFab Party existente, un cliente necesita dos piezas de información:
  • el descriptor de red
  • el identificador de invitación
Una red de PlayFab Party se identifica mediante un descriptor de red (PartyNetworkDescriptor). Se trata de una estructura en su mayoría opaca que codifica la información necesaria para establecer una conexión con la red. El descriptor de red se proporciona al cliente creador una vez completada la creación de la red (PartyCreateNewNetworkCompletedStateChange, PartyNetwork::GetNetworkDescriptor()). Para facilitar el desarrollo, PlayFab Party proporciona métodos para serializar y deserializar el descriptor de red hacia y desde una cadena adecuada para la web (PartyManager::SerializeNetworkDescriptor(), PartyManager::DeserializeNetworkDescriptor()). Un identificador de invitación es una cadena que identifica de forma única una invitación. Lo proporciona un cliente al crear una invitación explícitamente o al crear la invitación inicial durante la creación de la red. Si el cliente no proporciona un identificador de invitación, se generará uno de forma única. Para anunciar la nueva red a otros usuarios, envíe estas dos piezas de información a través de cualquier medio de comunicación adecuado.

Unión a una red

Unirse a una red es un proceso de dos pasos. Un cliente que desee unirse a una red debe conectarse primero a la red proporcionando el descriptor de red deserializado a PartyManager::ConnectToNetwork() y, a continuación, autenticar un usuario proporcionando el identificador de invitación a PartyNetwork::AuthenticateLocalUser().

Ejemplos de escenarios

Invitaciones sociales

El escenario más sencillo es aquel en el que un único usuario crea una sesión de juego y desea invitar a otros usuarios conocidos a través de su plataforma social compartida. El flujo podría ser algo así:
  • El invitador crea la red con una invitación abierta o una invitación que contiene todos los usuarios con los que el invitador quiere jugar.
  • Una vez creada la red, el invitador envía el descriptor de red y el identificador de invitación a los demás usuarios a través del mecanismo de invitación de la plataforma social.
  • Cada usuario invitado usa el descriptor de red y el identificador de invitación para conectarse a la red.
Al especificar usuarios en una invitación, se usan los identificadores de entidad title_player_account de los usuarios. Estos identificadores de entidad deberán obtenerse fuera de banda de PlayFab Party.

Sala (lobby)

Si su juego proporciona una sala que permite enviar datos entre clientes, se puede usar como medio de comunicación para intercambiar la información de conexión de red. El flujo podría ser algo así:
  • Se selecciona un conjunto de usuarios para jugar juntos.
  • Uno de esos usuarios se selecciona como creador.
  • Cada usuario del conjunto envía su identificador de entidad title_player_account al creador.
  • El creador crea la red y especifica los identificadores de entidad de los usuarios en la configuración de la invitación inicial.
  • Una vez completada la creación de la red, el creador envía el descriptor de red y el identificador de la invitación inicial al conjunto de usuarios que deben unirse.
  • Cada usuario usa el descriptor de red y el identificador de invitación para conectarse a la red.

Emparejamiento

Se puede usar un servicio de emparejamiento, como Emparejamiento de PlayFab, para encontrar una lista de usuarios con los que jugar. El flujo podría ser algo así:
  • Los usuarios inician una solicitud de emparejamiento con el servicio. El identificador de entidad title_player_account debe formar parte de la solicitud, porque el resultado del emparejamiento debe contener el identificador de entidad de cada usuario.
  • Los usuarios reciben un resultado de emparejamiento que contiene el conjunto de usuarios que deben formar parte de la red.
  • Se usa un algoritmo predeterminado para seleccionar qué usuario será el creador.
  • El creador crea la red y especifica los identificadores de entidad de los demás usuarios emparejados en la configuración de la invitación inicial.
  • Una vez completada la creación de la red, el creador usa un medio de comunicación fuera de banda para enviar el descriptor de red y el identificador de la invitación inicial a los demás usuarios emparejados.
  • Cada usuario emparejado usa el descriptor de red y el identificador de invitación para conectarse a la red.
Se requiere un medio de comunicación fuera de banda para enviar la información de conexión del creador a los demás usuarios emparejados.
Última modificación el 28 de agosto de 2026