Visão geral da XBOX Live Helper library
A XBOX Live Helper library para o PlayFab Party foi projetada para ajudar os jogos que usam o PlayFab Party a atender às políticas do XBOX Live relacionadas à comunicação (XR-015 e XR-045). A XBOX Live Helper library está disponível no Nuget.org.Compatibilidade com a biblioteca do PlayFab Party
Embora nos esforcemos para minimizar alterações significativas em nossas APIs, algumas alterações feitas na API do PlayFab Party podem fazer com que a XBOX Live Helper library retorne valores incorretos. Consulte a tabela abaixo para garantir que as versões das suas bibliotecas sejam compatíveis.Acompanhando os usuários do XBOX Live
A PlayFab Party XBOX Live Helper library deve ser informada explicitamente sobre os usuários do XBOX Live que estão participando no momento da sessão do Party. É recomendável que os títulos informem a biblioteca escutando as alterações no seu documento de sessão multijogador e refletindo essa lista na XBOX Live Helper library por meio dePartyXblManager::CreateLocalChatUser e PartyXblManager::CreateRemoteChatUser.
Para usuários locais:
PartyChatControlCreatedStateChange para controles de chat remotos.
Para usuários de chat locais e remotos, é importante lembrar que a biblioteca principal do Party identifica usuários e controles de chat por meio de IDs de entidade do PlayFab, enquanto a biblioteca auxiliar do XBOX Live identifica os usuários de chat com IDs de usuário do XBOX. Portanto, muitas vezes é necessário converter entre os dois. Consulte Mapeamento entre IDs de usuário do XBOX Live e IDs de entidade do PlayFab para obter mais informações.
Criando PartyLocalChatControls a partir de PartyXblLocalChatUsers
Os objetosPartyXblLocalChatUser geralmente só são úteis quando associados a objetos PartyLocalUser e PartyLocalChatControl na biblioteca do Party. Gerar objetos PartyLocalUser e PartyLocalChatControl exige que os títulos façam login dos seus usuários no PlayFab e recuperem o entityId e o titlePlayerEntityToken do usuário. O login pode ser feito por meio do PlayFab CPP SDK, mas, se um título pretende usar credenciais do XBOX Live para fazer login no PlayFab, pode usar PartyXblManager::LoginToPlayFab para evitar adicionar uma dependência extra.
O exemplo a seguir mostra como a XBOX Live Helper library pode ajudar você a criar objetos PartyLocalUser e PartyLocalChatControl a partir de objetos PartyXblLocalChatUser. Para obter mais informações sobre como criar objetos PartyXblLocalChatUser, confira Acompanhando os usuários do XBOX Live.
PartyXblManager::LoginToPlayFab, você receberá um PartyXblLoginToPlayFabCompletedStateChange contendo o resultado da operação de login.
Respeitando as preferências de acessibilidade de um usuário do XBOX Live
O objetoPartyXblLocalChatUser expõe algumas das preferências de acessibilidade do usuário do XBOX Live que são relevantes para as sessões de chat do Party. Os títulos podem usar essas informações para oferecer uma experiência melhor aos jogadores, habilitando imediatamente alguns dos recursos de acessibilidade do Party.
Respeitando as configurações de privacidade e as permissões de um usuário do XBOX Live
De acordo com as políticas do XBOX Live, os títulos não devem permitir a comunicação pelo XBOX Live quando a privacidade ou as permissões do usuário não a permitirem. A XBOX Live Helper library ajuda você a fazer isso, permitindo consultar asPartyChatPermissionOptions mais restritivas entre dois usuários permitidas pelas políticas do XBOX Live. Sempre que esse valor mudar, um PartyXblRequiredChatPermissionInfoChangedStateChange será gerado pela biblioteca. As PartyChatPermissionOptions atualizadas podem ser obtidas por meio de uma chamada a PartyXblLocalChatUser::GetRequiredChatPermissionInfo().
PartyXblRequiredChatPermissionInfoChangedStateChange será gerado para notificar você de que um valor atualizado de PartyChatPermissionOptions está disponível.
PartyXblChatPermissionInfo contém duas informações:
- Uma máscara
PartyChatPermissionOptions, que pode ser passada como está paraPartyLocalChatControl::SetPermission()ou usada como máscara binária se você já tiver um valor dePartyChatPermissionOptionsque gostaria de usar, mas quiser garantir que está respeitando as políticas do XBOX Live. - Um valor
PartyXblChatPermissionMaskReason, que fornece informações adicionais sobre o valor dePartyXblChatPermissionInfo::chatPermissionMask
Respeitando as permissões de comunicação entre redes
Os títulos que dão suporte ao jogo e à comunicação entre redes, entre jogadores do XBOX Live e jogadores que não são do XBOX Live, precisam verificar as permissões de comunicação antes de permitir a comunicação entre esses jogadores. A XBOX Live Helper library fornece essas informações por meio dePartyXblLocalChatUser::GetCrossNetworkCommunicationPrivacySetting(). Esse método retorna uma enumeração PartyXblCrossNetworkCommunicationPrivacySetting com três valores possíveis:
Mapeamento entre IDs de usuário do XBOX Live e IDs de entidade do PlayFab
Muitos títulos do XBOX Live que usam o PlayFab Party precisam converter entre IDs de usuário do XBOX Live (usadas em todo o ecossistema do XBOX Live) e IDs de entidade do PlayFab (usadas pelo PlayFab Party). UsandoPartyXblManager::GetEntityIdsFromXboxLiveUserIds, os títulos podem recuperar uma lista de IDs de entidade do PlayFab correspondentes a uma determinada lista de IDs de usuário do XBOX Live. Espera-se que os títulos já tenham uma lista de IDs de usuário do XBOX Live por meio do uso de um serviço externo de lista de participantes, como o Multiplayer Session Directory. Ao associar as IDs de usuário do XBOX Live da lista de participantes às respectivas IDs de entidade do PlayFab, podemos construir um mapeamento de todas as IDs de entidade do PlayFab correspondentes à lista de participantes da sua sessão de jogo. Esse mapeamento pode então ser usado para associar objetos PartyEndpoint e PartyChatControl aos usuários do XBOX Live correspondentes.
Cada ID de usuário do XBOX Live só será mapeada para uma ID de entidade do PlayFab se esse usuário do XBOX Live já tiver sido vinculado a uma conta do PlayFab. Uma conta do PlayFab é criada e vinculada automaticamente na primeira vez que
PartyXblManager::LoginToPlayFab é chamado para um determinado usuário do XBOX. Como alternativa, os consumidores do PlayFab SDK podem usar a API LoginWithXbox para obter os mesmos resultados.PartyXblLocalChatUser local será usado para a autenticação no PlayFab. Se o usuário não tiver feito login anteriormente no PlayFab com uma chamada a PartyXblManager::LoginToPlayFab, a XBOX Live Helper library precisará autenticar o usuário em segundo plano.
PartyXblManager::GetEntityIdsFromXboxLiveUserIds, você receberá um PartyXblGetEntityIdsFromXboxLiveUserIdsCompletedStateChange contendo o resultado da operação. Esse resultado pode ser usado para construir ou atualizar seus mapeamentos.
Considerações especiais para o Windows
No Windows, a XBOX Live Helper library precisa da ajuda do título para obter os tokens do XBOX Live. A biblioteca solicitará tokens gerandoPartyXblTokenAndSignatureRequestedStateChange. O título pode usar a XBOX Authentication Library (XAL) para atender a essas solicitações. Transferir esse trabalho para o título garante que ele mantenha controle total sobre qualquer tratamento de interface do usuário e solicitação de consentimento normalmente associados à autenticação do usuário.
PartyXblManager::CompleteGetTokenAndSignatureRequest() com o mesmo correlationId fornecido ao título por meio da alteração de estado.