Skip to main content

Información general de la biblioteca auxiliar de XBOX Live

La biblioteca auxiliar de XBOX Live para PlayFab Party está diseñada para ayudar a los juegos que usan PlayFab Party a cumplir las directivas de XBOX Live relacionadas con la comunicación (XR-015 y XR-045). La biblioteca auxiliar de XBOX Live está disponible en Nuget.org.

Compatibilidad con la biblioteca de PlayFab Party

Aunque nos esforzamos por minimizar los cambios importantes en nuestras API, algunos cambios realizados en la API de PlayFab Party pueden hacer que la biblioteca auxiliar de XBOX Live devuelva valores erróneos. Consulte la tabla siguiente para asegurarse de que las versiones de sus bibliotecas son compatibles.

Seguimiento de los usuarios de XBOX Live

La biblioteca auxiliar de XBOX Live de PlayFab Party debe recibir información explícita sobre los usuarios de XBOX Live que participan actualmente en la sesión de Party. Se recomienda que los títulos informen a la biblioteca escuchando los cambios de su documento de sesión multijugador y reflejando esa lista en la biblioteca auxiliar de XBOX Live mediante PartyXblManager::CreateLocalChatUser y PartyXblManager::CreateRemoteChatUser. Para los usuarios locales:
En este punto, si ya existe un PartyLocalChatControl para el usuario local de XBOX correspondiente, puede asociarlo a este PartyXblLocalChatUser mediante los métodos SetCustomContext.
De lo contrario, puede usar este nuevo PartyXblLocalChatUser para generar el control de chat y asociarlos después. Consulte Creación de PartyLocalChatControls a partir de PartyXblLocalChatUsers para obtener más información. Para los usuarios remotos:
En este punto, si ya existe un PartyChatControl para el usuario remoto de XBOX correspondiente, puede asociarlo a este PartyXblChatUser mediante los métodos SetCustomContext.
Tenga en cuenta que las actualizaciones del documento de sesión y las actualizaciones de la lista de controles de chat remotos pueden no estar ordenadas, y es posible que necesite una lógica de asociación similar al procesar las actualizaciones de PartyChatControlCreatedStateChange para los controles de chat remotos. Tanto para los usuarios de chat locales como remotos, es importante tener en cuenta que la biblioteca principal de Party identifica a los usuarios y controles de chat mediante identificadores de entidad de PlayFab, mientras que la biblioteca auxiliar de XBOX Live identifica a los usuarios de chat con identificadores de usuario de XBOX. Por lo tanto, a menudo es necesario traducir entre ambos. Consulte Asignación entre identificadores de usuario de XBOX Live e identificadores de entidad de PlayFab para obtener más información.

Creación de PartyLocalChatControls a partir de PartyXblLocalChatUsers

Los objetos PartyXblLocalChatUser a menudo solo son útiles cuando están asociados a objetos PartyLocalUser y PartyLocalChatControl de la biblioteca de Party. La generación de objetos PartyLocalUser y PartyLocalChatControl requiere que los títulos inicien la sesión de sus usuarios en PlayFab y recuperen el entityId y el titlePlayerEntityToken de su usuario. El inicio de sesión se puede realizar mediante el SDK de C++ de PlayFab, pero si un título tiene previsto usar las credenciales de XBOX Live para iniciar sesión en PlayFab, puede usar PartyXblManager::LoginToPlayFab para evitar incorporar una dependencia adicional. El ejemplo siguiente muestra cómo la biblioteca auxiliar de XBOX Live puede ayudarle a crear objetos PartyLocalUser y PartyLocalChatControl a partir de objetos PartyXblLocalChatUser. Para obtener más información sobre la creación de objetos PartyXblLocalChatUser, consulte Seguimiento de los usuarios de XBOX Live.
Poco después de llamar a PartyXblManager::LoginToPlayFab, recibirá un PartyXblLoginToPlayFabCompletedStateChange que contiene el resultado de la operación de inicio de sesión.

Respeto de las preferencias de accesibilidad de un usuario de XBOX Live

El objeto PartyXblLocalChatUser expone algunas de las preferencias de accesibilidad del usuario de XBOX Live que son relevantes para las sesiones de chat de Party. Los títulos pueden usar esta información para proporcionar una mejor experiencia a sus jugadores habilitando de inmediato algunas de las características de accesibilidad de Party.

Respeto de la configuración de privacidad y los permisos de un usuario de XBOX Live

Según las directivas de XBOX Live, los títulos no deben permitir la comunicación a través de XBOX Live cuando la privacidad o los permisos del usuario no lo permitan. La biblioteca auxiliar de XBOX Live le ayuda a lograrlo al permitirle consultar el valor de PartyChatPermissionOptions más restrictivo entre dos usuarios permitido por las directivas de XBOX Live. Cada vez que este valor cambia, la biblioteca genera un PartyXblRequiredChatPermissionInfoChangedStateChange. El valor de PartyChatPermissionOptions actualizado se puede obtener mediante una llamada a PartyXblLocalChatUser::GetRequiredChatPermissionInfo().
La biblioteca auxiliar de XBOX Live realiza un seguimiento de la configuración de privacidad y privilegios de cada usuario de chat remoto en relación con cada usuario de chat local comunicándose con los servicios de privacidad de XBOX Live. Además, la biblioteca escuchará los cambios en esta configuración suscribiéndose a las actualizaciones de Real-Time Activity. Cuando se agregan nuevos usuarios de chat remotos o cuando cambia la relación de privacidad y privilegios entre un usuario de chat local y un usuario de chat remoto existente, se genera un PartyXblRequiredChatPermissionInfoChangedStateChange para notificarle que ahora hay disponible un valor de PartyChatPermissionOptions actualizado.
La estructura PartyXblChatPermissionInfo contiene dos elementos de información:
  • Una máscara de PartyChatPermissionOptions que se puede pasar tal cual a PartyLocalChatControl::SetPermission() o que se puede usar como máscara binaria si ya tiene un valor de PartyChatPermissionOptions que quiere usar pero desea asegurarse de que respeta las directivas de XBOX Live.
  • Un valor de PartyXblChatPermissionMaskReason que proporciona información adicional sobre el valor de PartyXblChatPermissionInfo::chatPermissionMask

Respeto de los permisos de comunicación entre redes

Los títulos que admiten el juego y la comunicación entre redes entre jugadores de XBOX Live y jugadores que no son de XBOX Live deben comprobar los permisos de comunicación antes de permitir la comunicación entre esos jugadores. La biblioteca auxiliar de XBOX Live proporciona esta información a través de PartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting(). Este método devuelve una enumeración PartyXblCrossNetworkCommunicationPrivacySetting con tres valores posibles:
Puede encontrar más información sobre XR-015 y cómo se relaciona con el juego y la comunicación entre redes aquí

Asignación entre identificadores de usuario de XBOX Live e identificadores de entidad de PlayFab

Muchos títulos de XBOX Live que usan PlayFab Party necesitan traducir entre los identificadores de usuario de XBOX Live (usados en todo el ecosistema de XBOX Live) y los identificadores de entidad de PlayFab (usados por PlayFab Party). Con PartyXblManager::GetEntityIdsFromXboxLiveUserIds, los títulos pueden recuperar una lista de identificadores de entidad de PlayFab correspondientes a una lista determinada de identificadores de usuario de XBOX Live. Se espera que los títulos ya tengan una lista de identificadores de usuario de XBOX Live mediante el uso de un servicio de listas externo, como el Multiplayer Session Directory. Al asociar los identificadores de usuario de XBOX Live de la lista con sus identificadores de entidad de PlayFab, podemos construir una asignación de todos los identificadores de entidad de PlayFab correspondientes a la lista de la sesión de juego. Esta asignación se puede usar después para asociar los objetos PartyEndpoint y PartyChatControl con sus usuarios de XBOX Live correspondientes.
Cada identificador de usuario de XBOX Live solo se asignará a un identificador de entidad de PlayFab si este usuario de XBOX Live ya se ha vinculado a una cuenta de PlayFab. Se crea y vincula automáticamente una cuenta de PlayFab la primera vez que se llama a PartyXblManager::LoginToPlayFab para un usuario de XBOX determinado. Como alternativa, los consumidores del SDK de PlayFab pueden usar la API LoginWithXbox para lograr los mismos resultados.
El PartyXblLocalChatUser local se usará para autenticarse en PlayFab. Si el usuario no había iniciado sesión previamente en PlayFab con una llamada a PartyXblManager::LoginToPlayFab, la biblioteca auxiliar de XBOX Live tendrá que autenticar al usuario en segundo plano.
Poco después de llamar a PartyXblManager::GetEntityIdsFromXboxLiveUserIds, recibirá un PartyXblGetEntityIdsFromXboxLiveUserIdsCompletedStateChange que contiene el resultado de la operación. Este resultado se puede usar para construir o actualizar sus asignaciones.
Con una asignación de este tipo, los títulos pueden reconocer cuándo un objeto de Party representa a un usuario de XBOX Live.

Consideraciones especiales para Windows

En Windows, la biblioteca auxiliar de XBOX Live necesita ayuda del título para obtener tokens de XBOX Live. La biblioteca solicitará tokens generando PartyXblTokenAndSignatureRequestedStateChange. El título puede usar la XBOX Authentication Library (XAL) para satisfacer estas solicitudes. Delegar este trabajo en el título garantiza que este mantenga el control total de cualquier gestión de la interfaz de usuario y de las solicitudes de consentimiento que normalmente se asocian a la autenticación de usuarios.
Para obtener más instrucciones sobre cómo recuperar el token y la firma mediante XAL, consulte la documentación de la XBOX Authentication Library. Una vez que tenga el token y la firma, se pueden proporcionar a la biblioteca auxiliar de XBOX Live llamando a PartyXblManager::CompleteGetTokenAndSignatureRequest() con el mismo correlationId que se proporcionó al título a través del cambio de estado.
Última modificación el 1 de septiembre de 2026