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 mediantePartyXblManager::CreateLocalChatUser y PartyXblManager::CreateRemoteChatUser.
Para los usuarios locales:
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 objetosPartyXblLocalChatUser 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.
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 objetoPartyXblLocalChatUser 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 dePartyChatPermissionOptions 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().
PartyXblRequiredChatPermissionInfoChangedStateChange para notificarle que ahora hay disponible un valor de PartyChatPermissionOptions actualizado.
PartyXblChatPermissionInfo contiene dos elementos de información:
- Una máscara de
PartyChatPermissionOptionsque se puede pasar tal cual aPartyLocalChatControl::SetPermission()o que se puede usar como máscara binaria si ya tiene un valor dePartyChatPermissionOptionsque quiere usar pero desea asegurarse de que respeta las directivas de XBOX Live. - Un valor de
PartyXblChatPermissionMaskReasonque proporciona información adicional sobre el valor dePartyXblChatPermissionInfo::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 dePartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting(). Este método devuelve una enumeración PartyXblCrossNetworkCommunicationPrivacySetting con tres valores posibles:
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). ConPartyXblManager::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.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.
PartyXblManager::GetEntityIdsFromXboxLiveUserIds, recibirá un PartyXblGetEntityIdsFromXboxLiveUserIdsCompletedStateChange que contiene el resultado de la operación. Este resultado se puede usar para construir o actualizar sus asignaciones.
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 generandoPartyXblTokenAndSignatureRequestedStateChange. 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.
PartyXblManager::CompleteGetTokenAndSignatureRequest() con el mismo correlationId que se proporcionó al título a través del cambio de estado.