Licenças do Game Pass nas verificações de licença do cliente
Os direitos do Game Pass não podem ser detectados pelo cliente do jogo. Quando um usuário tem direito ao seu título por meio do Game Pass, XStoreQueryGameLicenseAsync retorna uma licença comisActive = true, da mesma forma que em uma compra direta. A struct XStoreGameLicense não inclui um campo que identifique como a licença foi adquirida.
Para registrar como os usuários adquiriram seu título, por exemplo, para telemetria, envie a identidade do usuário do seu cliente para o seu próprio serviço. Em seguida, seu serviço chama a API publisherQuery e verifica acquisitionType. Um valor Recurring indica um direito do Game Pass, e Single indica propriedade direta.
Comportamento dos dados de resposta para editores autorizados e não autorizados
Se o seu editor não estiver autorizado, os itens com direito pelo Game Pass aparecem como direitos de propriedade direta. Por exemplo,acquisitionType aparece como Single, e os ProductIds do Game Pass não aparecem em satisfiedByProductIds.
Para editores autorizados, somente as assinaturas ativas do Game Pass são retornadas. Se a assinatura do Game Pass do usuário for cancelada ou terminar, as consultas posteriores não conterão mais as informações do Game Pass. Além disso, o EndDate é normalizado para o valor máximo, portanto não pode ser usado para detectar o término da assinatura.
Atraso no dia de lançamento do Game Pass nos resultados de direitos de servidor para servidor
Quando títulos ou complementos entram no Game Pass, espere um atraso entre a disponibilidade no cliente e a visibilidade nopublisherQuery. Esse comportamento se deve aos diferentes intervalos de atualização de cache entre os sistemas da loja. Na prática, o licenciamento local geralmente é atualizado primeiro, e o publisherQuery pode ficar atrasado de duas a três horas.
As verificações diretas de ProductIds do Game Pass não são afetadas; o atraso ocorre principalmente para itens concedidos por meio de direitos satisfeitos.
Testando assinaturas do Game Pass na sua sandbox de desenvolvimento
Os níveis do XBOX Game Pass devem estar habilitados e acessíveis quando você os pesquisa no aplicativo XBOX Store na sua sandbox de desenvolvimento. As contas de teste do XBOX são criadas com um cartão de crédito de teste e podem assinar os níveis do Game Pass na sua sandbox. Se você não encontrar os níveis do Game Pass na sua sandbox, entre em contato com seu Developer Partner Manager ou contato da Microsoft para obter ajuda.O status da assinatura do Game Pass não é transferido entre sandboxes. Depois de adicionar o Game Pass a uma conta de teste em uma sandbox, não mova essa conta de teste para outra sandbox para testes ou depuração do Game Pass ou de outros recursos relacionados ao comércio.
Solicitando o status da assinatura do Game Pass
Para solicitar o status da assinatura do Game Pass do usuário, adicione os ProductIds correspondentes dos níveis de assinatura que você está autorizado a visualizar à lista productSkuIds da solicitação de consulta (confira a tabela).
Se o usuário tiver uma assinatura no nível solicitado, a resposta da consulta incluirá um item com o ProductId do nível de assinatura do Game Pass correspondente.
Comportamento ao solicitar níveis incluídos em níveis mais altos
Alguns níveis do Game Pass estão incluídos quando um assinante tem um nível mais alto. Todos os seus níveis autorizados que estão incluídos em níveis mais altos são retornados quando o usuário assina o nível mais alto. Exemplo: seu editor está autorizado para o XBOX Game Pass Essential. O usuário tem o XBOX Game Pass Ultimate. Quando você consulta todos os ProductIds do Game Pass, o publisherQuery retorna um resultado somente para o XBOX Game Pass Essential. Se o seu editor tiver acesso para visualizar qualquer um dos outros níveis, o publisherQuery também retornará esses níveis.O XBOX Game Pass (Starter Edition) é uma exceção à herança e é um nível independente. Ele não está incluído em nenhum dos outros níveis.
Concedendo vantagens no jogo para assinantes do Game Pass
Recomendamos solicitar acesso ao nível mais baixo do Game Pass necessário para conceder vantagens e benefícios no jogo aos assinantes. Exemplo: você está concedendo uma recompensa no jogo a todos os assinantes do Game Pass no console. Você só precisa de acesso ao XBOX Game Pass Essential (CFQ7TTC0K5DJ), pois o Premium e o Ultimate incluem o Essential.Detectando produtos com direito por meio de uma assinatura do Game Pass com satisfiedByProductIds
Após a autorização, identifique os direitos derivados do Game Pass verificando os valores desatisfiedByProductIds e acquisitionType. Um direito baseado no Game Pass tem acquisitionType igual a Recurring, e satisfiedByProductIds inclui o ProductID do nível mais alto do Game Pass para o qual você está autorizado.
Se você estiver usando a opção de filtro excludeDuplicates, o direito relacionado ao Game Pass será filtrado se o usuário possuir o título diretamente.
satisfiedByProductIds de um item informa se o item tem direito por meio do Game Pass, mas não é suficiente para determinar se o usuário é membro do Game Pass. Para verificar o status da assinatura do Game Pass de um usuário, inclua os valores de ProductId do Game Pass em productSkuIds da sua solicitação.
Exemplo de item duplicado com o XBOX Game Pass
Se o usuário tiver propriedade direta e direito pelo Game Pass para o mesmo produto, duas entradas poderão aparecer quandoexcludeDuplicates for false. Quando excludeDuplicates for true, o item de compra direta será retornado.
Para conhecer as regras completas de resolução de duplicatas e o comportamento de prioridade de origem, confira Noções básicas sobre itens duplicados na resposta.
