Títulos gratuitos, demonstrações ou betas podem ser configurados para permitir o jogo multijogador (ID 254) para jogadores que não são assinantes do Game Pass. Isso é feito por meio de uma configuração no lado do serviço e pode ser iniciado entrando em contato com seu representante da Microsoft. Esses títulos devem continuar verificando o privilégio de jogo multijogador para garantir que os controles dos pais e as escolhas dos jogadores sejam respeitados.
Mais informações
[!NOTE] Consulte a documentação Uso no lado do cliente dos privilégios de usuário dos serviços XBOX para obter uma visão detalhada das diretrizes técnicas e práticas recomendadas.Se os seus serviços processarem tokens emitidos pela rede XBOX, você deverá impor no seu serviço que os usuários na sessão tenham os privilégios apropriados para executar a ação solicitada, inspecionando a declaração “prv” desses usuários dentro do token. Se um título oferecer uma ou mais das atividades listadas na tabela acima, o título deverá verificar os privilégios associados à atividade específica. Se um usuário não tiver o privilégio, ele não deverá ter permissão para usar a atividade associada. Os privilégios são concedidos pela duração da sessão/ação ou pelo tempo até que o token da rede XBOX seja atualizado, o que for menor. Dependendo da plataforma de desenvolvimento (GDK, XDK, XSAPI), espera-se que os títulos de jogos chamem as APIs apropriadas para garantir que (1) a interface do usuário do sistema seja invocada, informando o usuário sobre o privilégio bloqueado e oferecendo meios de solicitar permissões para determinados privilégios a um pai, mãe ou responsável, se for uma conta de criança; ou (2) sejam fornecidas mensagens de erro prescritivas e acionáveis. Usando o GDK em PCs ou consoles XBOX: para verificar se um usuário tem um privilégio usando o GDK, os títulos devem usar as APIs XUserCheckPrivilege e XUserResolvePrivilegeWithUiAsync. Informações específicas sobre o padrão de uso e o tratamento de contexto estão disponíveis no tópico Visão geral dos privilégios de usuário dos serviços XBOX na documentação do GDK. Usando o XDK do XBOX One: para verificar se um usuário tem um privilégio no XBOX One, os títulos usam a API Store::Product::CheckPrivilegeAsync. Se a verificação de privilégio for resultado de uma ação do usuário, como entrar em um modo de jogo multijogador, o parâmetro attemptResolution deverá ser definido como true (ou não ser definido). A plataforma verifica o privilégio e, se o usuário não o tiver, tenta determinar o motivo. Se a API retornar false, o usuário não tem o privilégio e o sistema não resolveu o problema com êxito. Nesses casos, o título deve bloquear a atividade privilegiada, mas pode presumir que o sistema já informou adequadamente ao usuário que ele não tem a permissão apropriada para a atividade ou que há um problema relacionado ao privilégio do usuário. Nos casos em que a verificação de privilégio não é feita como resultado de uma ação do usuário, mas, por exemplo, como parte de uma chamada silenciosa em segundo plano ou para ajustar a experiência do usuário, a API deve ser chamada com attemptResolution definido como false. Como resultado, o usuário não recebe mensagens e o sistema não intervém para corrigir problemas de privilégio. Usando o XSAPI diretamente com UWP, Win32, dispositivos móveis ou outras plataformas: o usuário não tem o privilégio se ele estiver ausente da declaração “prv”, e o título deve impedir que o usuário continue com a atividade privilegiada. Se a verificação tiver sido disparada pelo usuário solicitando acesso à atividade privilegiada, como ao tentar iniciar ou ingressar em uma sessão multijogador, o título deverá mostrar uma mensagem informativa para avisá-lo de que não pode participar. As mensagens sugeridas são as seguintes:
Requisitos de implementação
Problemas de conectividade com a rede XBOX: se o título receber uma falha (por meio da API ou porque não consegue recuperar um token do XBOX Live) porque o serviço XBOX está inacessível, o título deverá bloquear o acesso à ação solicitada. Nesses casos, o título deverá falhar de forma adequada, conforme descrito no XR-074, “Perda de conectividade com os serviços XBOX e de parceiros”.
Práticas recomendadas
Recursos adicionais
Para obter mais informações sobre privilégios e o token de usuário, consulte “Token de usuário” na documentação do Microsoft Game Development Kit (GDK) ou do XBOX Application Development Kit. Para os fins deste XR, uma rede social é um site ou serviço fora da rede XBOX que permite que uma pessoa compartilhe conteúdo com outros usuários por padrão. Se a opção padrão no site externo for habilitar o compartilhamento com amigos ou com todos, então, para os fins deste XR, não é necessário que o site externo permita que o usuário opte por limitar o compartilhamento no momento do upload.Isenções
Ofertas de vídeo transacional pago podem ser oferecidas a todos os usuários XBOX, independentemente das configurações de privilégio de conteúdo de vídeo. Se o aplicativo oferecer tanto conteúdo premium quanto ofertas de vídeo transacional pago, o conteúdo premium deverá cumprir este requisito. Se o aplicativo for de uma emissora de serviço público no país/região em que o aplicativo é oferecido na plataforma XBOX, todas as ofertas de conteúdo não comercializado deverão ser disponibilizadas a todos os usuários XBOX nesse país/região, independentemente das configurações de privilégio de conteúdo de vídeo dos usuários. Os títulos que oferecem multijogador assíncrono entre um console XBOX One e um dispositivo que não é console não são obrigados a verificar o privilégio de Multijogador para experiências no dispositivo que não é console.Casos de teste de certificação
045-01 Respeitar os privilégios do usuárioEtapas de teste
- Entre em um perfil XBOX e inicie o título.
- Para cada um dos privilégios identificados nas Observações do XR, identifique se o título oferece suporte à atividade associada.
- Para cada configuração possível de cada privilégio aplicável identificado na etapa [2], faça o seguinte:
Resultado esperado
- Saia do título e altere as configurações do usuário para o privilégio.
- Reinicie o console.
- Entre no mesmo perfil e inicie o título.
- Visite todas as áreas relevantes do título, use todos os recursos do título relevantes para o privilégio e verifique se o título respeita a configuração de privilégio atual do usuário.
- Tente acessar todas as áreas offline e online usando um perfil XBOX Silver.
Os títulos devem respeitar as configurações de privilégio do usuário. Exemplos de aprovaçãoExemplos de falha
- O título respeita as configurações de privilégio do usuário.
- O título trata uma configuração de privilégio de permissão parcial como se o privilégio estivesse desabilitado/não permitido (por exemplo, quando o privilégio de Conteúdo gerado pelo usuário (UGC) está definido como Somente amigos, o título se comporta como se o privilégio estivesse definido como Bloqueado).
- Para títulos que usam o XDK, o título invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio (os títulos devem usar a API Store::Product::CheckPrivilegeAsync). Quando a interface do usuário do sistema não pode ser invocada (privilégios 252, 189, 247), o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- Para títulos que usam o GDK, o título invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio. Nos casos em que os títulos não podem invocar a interface do usuário do sistema (252, 189, 247), o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar. Os títulos devem usar as APIs XUserCheckPrivilege e XUserResolvePrivilegeWithUiAsync.
- Para títulos que usam o XSAPI, o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- O título mantém as configurações de privilégio de um usuário e não reflete os privilégios reais do usuário depois que eles são alterados.
- O título trata uma configuração de privilégio de permissão parcial como se o privilégio estivesse definido com sua configuração menos restritiva (por exemplo, quando o privilégio de Conteúdo gerado pelo usuário (UGC) está definido como Somente amigos, o título se comporta como se o privilégio estivesse definido como Permitido).
- Para títulos que usam o XDK ou o GDK, o título usa mensagens no jogo para alertar o usuário sobre quaisquer conflitos de privilégio e não exibe a interface do usuário do sistema.
- Para títulos que usam o XSAPI, o título não mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
045-02 Respeitar os privilégios do usuário - XBOX Family
Instalação e configuração do teste
XBOX Family que inclui as seguintes contas Microsoft:
- Adulto (maior de 18 anos) designado como Organizador.
- Criança (menor de 13 anos) com as configurações de privilégio Padrão para criança:
Referências e links:Etapas de teste
- Criar uma XBOX Family
- Adicionar membros da família pela Web, pelo aplicativo Family ou pelo console XBOX
- Gerenciar o consentimento dos pais
- Entre nas contas Microsoft do adulto e da criança e inicie o título com a conta da criança.
- Para cada um dos privilégios identificados nas Observações do XR, identifique se o título oferece suporte à atividade associada.
- Para cada configuração possível de cada privilégio aplicável identificado na etapa [2], faça o seguinte:
- Verifique se a atividade associada é permitida/não permitida com base nos privilégios da conta. Por exemplo: o título oferece suporte ao modo multijogador e a conta da criança tem o privilégio de multijogador bloqueado. Verifique se o título bloqueia todas as atividades multijogador para a criança e se os prompts de permissão dos pais (interface do usuário do sistema) são exibidos quando a criança tenta participar de atividades multijogador.
- Saia do título e altere as configurações de privilégio da criança do usuário para as atividades de privilégio às quais o título oferece suporte, passando de bloqueado para permitido. Por exemplo: alterar multijogador ou conteúdo gerado pelo usuário de bloqueado para permitido.
- Reinicie o console.
- Entre no mesmo perfil e inicie o título.
- Visite todas as áreas relevantes do título, use todos os recursos do título relevantes para o privilégio e verifique se o título respeita a configuração de privilégio atual do usuário. Por exemplo: o título oferece suporte ao modo multijogador. A criança estava bloqueada, mas agora recebeu permissão para o multijogador. O título permite corretamente que a criança acesse os modos de jogo multijogador.
Resultados esperados
- Repita as etapas [2] a [3] com uma conta de pai/mãe não conectada ao console.
Os títulos devem respeitar as configurações de privilégio de todos os membros da XBOX Family. Exemplos de aprovaçãoExemplos de falha
- O título respeita as configurações de privilégio de uma criança.
- O título permite que uma criança participe de uma atividade quando o privilégio para essa atividade é permitido.
- O título não permite que uma criança participe de uma atividade quando o privilégio para essa atividade está bloqueado.
- O título permite que uma criança participe de uma atividade que está bloqueada, mas cuja permissão é concedida pelo pai ou pela mãe (por meio da interface do usuário de permissão dos pais).
- O título não permite que uma criança participe de uma atividade que está bloqueada e cuja permissão não é concedida pelo pai ou pela mãe (por meio da interface do usuário de permissão dos pais).
- O título trata uma configuração de privilégio de permissão parcial como se o privilégio estivesse desabilitado/não permitido (por exemplo, quando o privilégio de Conteúdo gerado pelo usuário (UGC) está definido como Somente amigos, o título se comporta como se o privilégio estivesse definido como Bloqueado).
- Para títulos que usam o XDK, o título invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio (os títulos devem usar a API Store::Product::CheckPrivilegeAsync). Quando a interface do usuário do sistema não pode ser invocada (privilégios 252, 189, 247), o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- Para títulos que usam o GDK, o título invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio (os títulos devem usar as APIs XUserCheckPrivilege e XUserResolvePrivilegeWithUiAsync). Quando a interface do usuário do sistema não pode ser invocada (privilégios 252, 189, 247), o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- Para títulos que usam o XSAPI, o título mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- O título não respeita as configurações de privilégio da criança.
- Exemplo: o título oferece suporte ao modo multijogador e permite que a criança com o multijogador bloqueado acesse os modos de jogo multijogador.
- O título não invoca a interface do usuário adequada para alertar e informar a criança sobre conflitos de privilégio.
- Exemplo: o título oferece suporte ao modo multijogador, mas a criança nunca recebe um prompt de permissão dos pais quando o privilégio está bloqueado.
- O título permite que uma criança participe de uma atividade quando o privilégio para essa atividade está bloqueado.
- O título não permite que uma criança participe de uma atividade quando o privilégio para essa atividade é permitido.
- O título permite que uma criança participe de uma atividade que está bloqueada e cuja permissão não é concedida pelo pai ou pela mãe (por meio da interface do usuário de permissão dos pais).
- O título não permite que uma criança participe de uma atividade que está bloqueada e cuja permissão é concedida pelo pai ou pela mãe (por meio da interface do usuário de permissão dos pais).
- O título mantém as configurações de privilégio de um usuário e não reflete os privilégios reais do usuário depois que eles são alterados.
- Exemplo: o título oferece suporte ao modo multijogador. A conta da criança tem o multijogador bloqueado, mas recebe permissão do pai ou da mãe por meio da interface do usuário do sistema. O título continua bloqueando o multijogador, mesmo que o privilégio tenha sido concedido.
- O título trata uma configuração de privilégio de permissão parcial como se o privilégio estivesse definido com sua configuração menos restritiva. Por exemplo: quando o privilégio de conteúdo gerado pelo usuário (UGC) está definido como Somente amigos, o título se comporta como se o privilégio estivesse definido como Permitido.
- Para títulos que usam o XDK, o título não invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio (os títulos devem usar a API Store::Product::CheckPrivilegeAsync). Quando a interface do usuário do sistema não pode ser invocada (privilégios 252, 189, 247), o título não mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- Para títulos que usam o GDK, o título não invoca a interface do usuário do sistema para alertar o usuário sobre quaisquer conflitos de privilégio (os títulos devem usar as APIs XUserCheckPrivilege e XUserResolvePrivilegeWithUiAsync). Quando a interface do usuário do sistema não pode ser invocada (privilégios 252, 189, 247), o título não mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
- Para títulos que usam o XSAPI, o título não mostra uma mensagem informativa para avisar o usuário de que ele não pode participar.
