Autenticação de usuários
No Steam, os usuários estão sempre “conectados” quando o cliente inicia o jogo. O jogo sempre pode acessar a Steam ID do usuário sem fazer nada além de inicializar a API. A autenticação no Steam refere-se ao processo de verificar se a identidade predefinida de um usuário é realmente a do usuário conectado ao cliente que iniciou o jogo, usando a APIISteamUser com tíquetes de sessão (com ponto a ponto ou um servidor dedicado), tíquetes de aplicativo criptografados (com um servidor seguro) ou a Steam Web API. Após a autenticação, as APIs Steam Web ou ISteamUser podem usar tíquetes para verificar a propriedade do jogo atual ou de seu conteúdo baixável (DLC).
Essa etapa de verificação é desnecessária no XBOX Game Development Kit (GDK), pois você já fez a verificação ao conectar o usuário com as etapas em Inicializando o XBOX Game Development Kit (GDK). Assim, o XBOX Game Development Kit (GDK) não tem um equivalente aos tíquetes de sessão ou aos tíquetes de aplicativo criptografados do Steam para verificar a identidade de um usuário em sessões multijogador.
Propriedade e gerenciamento de direitos digitais (DRM)
Para verificar se o usuário tem direito ao jogo que está jogando no momento, você precisa usar a funçãoXStoreQueryGameLicenseAsync na API XStore para verificar se o usuário tem uma licença para jogar esse jogo. No retorno de chamada assíncrono, verifique se:
- A consulta foi bem-sucedida (ou seja, o usuário tem uma licença).
- A licença fornecida por
XStoreQueryGameLicenseResultainda está ativa.
ISteamUser/CheckAppOwnership na Steam Web API ou de chamar SteamEncryptedAppTicket::BIsTicketForApp com um tíquete de aplicativo.
Para obter mais informações e um exemplo de código sobre como realizar essa verificação, confira XStore: DRM básico e verificações de licença. Esse tópico também contém informações sobre opções mais robustas de verificação de licença, que existem para evitar adulterações que contornem essa verificação no lado do cliente.
O Steam também fornece um wrapper de DRM para o qual o XBOX Game Development Kit (GDK) não tem equivalente. A Microsoft Store faz uma verificação antipirataria ao iniciar aplicativos instalados a partir dela. Para obter proteção de DRM completa, recomendamos usar uma solução de terceiros, além de executar a verificação de licença no exemplo de código vinculado.
Verificando a propriedade de DLC
Se o seu jogo tiver DLC associado, você poderá verificar se a conta da Microsoft Store de um usuário tem acesso a um item com a APIXStore. Para verificar essas licenças, primeiro você precisa consultar todos os produtos associados ao seu jogo usando a função XStoreQueryAssociatedProductsAsync e, em seguida, usar a função XStoreAcquireLicenseForPackageAsync, que é semelhante às funções ISteamUser/CheckAppOwnership ou ISteamUser::UserHasLicenseForApp, para obter a licença de um item de DLC específico na lista retornada pela consulta.
Assim como na verificação de direitos para jogos, você precisa ver se a licença foi adquirida com êxito e se está ativa. Se ambas as verificações forem aprovadas, você pode considerar que o usuário está licenciado para acessar esse item de DLC. Para obter um exemplo de código desse processo, confira Gerenciar e licenciar pacotes opcionais (DLC).
