Pacotes de Publisher Content
Publisher Content é um tipo de pacote que permite hospedar conteúdo complementar do jogo na sua própria rede de distribuição de conteúdo (CDN), enquanto a plataforma continua gerenciando a instalação, o download em segundo plano, a validação de integridade e a experiência do usuário. Os pacotes de Publisher Content têm suporte em consoles da família XBOX One e em consoles XBOX Series X|S a partir do GDK de outubro de 2026 (GDK 2610). Os pacotes de Publisher Content se comportam como conteúdo para download (DLC) em tempo de execução: eles são instalados junto com um jogo base, são montados no seu processo e desmontados quando o jogo é encerrado. Diferentemente do DLC, eles não são ingeridos pelo Partner Center, não têm ID da loja e não são vendidos nem licenciados pela Microsoft Store. O seu serviço é a fonte da verdade sobre qual conteúdo é distribuído, quando ele é atualizado e quem o recebe.Quando usar o Publisher Content
Considere usar o Publisher Content quando quiser fazer qualquer uma das seguintes ações:- Distribuir pequenas atualizações de serviço ao vivo (dados de configuração, tabelas de ajuste, pequenos pacotes de ativos) sem passar pela ingestão da Store.
- Entregar conteúdo complementar com a marca do editor que todos os jogadores do jogo base recebem automaticamente.
- Reutilizar uma CDN e um pipeline de conteúdo existentes que você já opera para seus jogos em outras plataformas.
- Manter o controle sobre o momento da distribuição, a segmentação regional ou os testes A/B na camada da CDN.
Requisitos e restrições
- Um pacote de Publisher Content por jogo base.
- Disponível para qualquer jogador que possua o jogo base. Não há verificação de licenciamento por usuário.
- Com suporte em consoles da família XBOX One e em consoles XBOX Series X|S.
- O jogo base e o pacote de Publisher Content devem usar o mesmo formato de pacote. Por exemplo, se o jogo base for empacotado como MSIXVC2, o pacote de Publisher Content também deverá ser MSIXVC2.
- O pacote de Publisher Content deve ser pequeno, ou seja, ter menos de 1 GB.
- O pacote de Publisher Content é assinado com material de assinatura fornecido pelo editor, e o jogo base incorpora o material público correspondente para que a plataforma possa validar o Publisher Content que alega pertencer a ele. O próprio jogo base é assinado da mesma forma que qualquer outro título. O material de assinatura varia de acordo com o formato do pacote:
- XVC e MSIXVC — Uma chave de assinatura CNG bruta. RSA-4096 é obrigatório.
- MSIXVC2 — Um certificado X.509 com uma chave RSA-4096. O certificado deve estar válido no momento, ter uma chave privada RSA acessível e permitir assinaturas digitais.
A plataforma não oferece sigilo de conteúdo para pacotes de Publisher Content. Diferentemente do DLC da Microsoft Store, o Publisher Content não é criptografado para distribuição: qualquer pessoa que baixar o arquivo da sua CDN poderá inspecionar o conteúdo dele. Se você precisar de confidencialidade para partes da sua carga, criptografe essas partes dentro do próprio conteúdo antes do empacotamento.
Como as partes se encaixam
De modo geral:- Você declara uma URL de manifesto no seu jogo base em MicrosoftGame.config. Essa URL aponta para um pequeno arquivo JSON que você hospeda na sua CDN e pode atualizar a qualquer momento.
- Você cria um pacote de Publisher Content que faz referência ao jogo base pelo ID da loja.
- Você assina o pacote de Publisher Content com o seu material de assinatura de editor. O jogo base incorpora o material público correspondente para que a plataforma possa validar qualquer Publisher Content que alegue pertencer a ele.
- Quando um jogador instala o jogo base, a plataforma busca o seu manifesto, lê a URL da CDN do pacote de Publisher Content atual e coloca a instalação dele na fila.
- Em tempo de execução, o seu jogo enumera os pacotes instalados e monta o pacote de Publisher Content da mesma forma que montaria um DLC.
Configurar o seu jogo base
No arquivo MicrosoftGame.config do seu jogo base, adicione um elementoPublisherContent com um filho ManifestUrl. A URL deve estar acessível a todos os dispositivos que executam o seu jogo.
Criar o pacote de Publisher Content
Crie um MicrosoftGame.config junto com a carga do seu Publisher Content. Faça referência ao jogo base pelo ID da loja com o elementoPublisherContentBaseProduct.
Não inclua um elemento
AllowedProducts em um pacote de Publisher Content. Esse elemento identifica um pacote como DLC padrão e é mutuamente exclusivo com PublisherContentBaseProduct.Criar o manifesto
Hospede um pequeno manifesto JSON naManifestUrl que você declarou no jogo base. O manifesto contém um único campo url que aponta para o pacote de Publisher Content atual na sua CDN. Não altere o Publisher Content na URL depois de publicado; em vez disso, publique cada nova versão do pacote de Publisher Content em uma nova URL e atualize o manifesto de acordo.
Gerar o material de assinatura do editor
O material de assinatura do editor fica no seu computador de build e é referenciado pelo nome (ou impressão digital) quando omakepkg empacota o jogo base e o pacote de Publisher Content. A forma exata depende do formato de pacote de destino.
Trate a chave de assinatura do editor ou a chave privada do certificado como um segredo de produção. Qualquer pessoa com acesso ao material privado pode produzir pacotes de Publisher Content que a plataforma aceitará como vindos de você.
Para pacotes XVC e MSIXVC
Crie uma chave de assinatura RSA-4096 em um provedor de armazenamento de chaves CNG do Windows no computador de build. O exemplo do PowerShell a seguir cria uma chave de assinatura RSA-4096 exportável chamadaMyTestPubXvcSigningKey no Microsoft Software Key Storage Provider.
makepkg pack por meio de /usepublisherkey. Se você usar um provedor de armazenamento de chaves CNG diferente do padrão, passe também o nome dele por meio de /publisherkeyprovider.
Para pacotes MSIXVC2
Crie um certificado X.509 cuja chave de entidade seja uma chave RSA-4096 e instale o certificado e a chave privada dele no repositório de certificadosCurrentUser\My.
O exemplo do PowerShell a seguir cria um certificado RSA-4096 autoassinado em CurrentUser\My e exporta o arquivo .cer dele.
.cer exportado ou a impressão digital do certificado para makepkg pack por meio de /usepublishercert. Se o certificado estiver instalado em um repositório diferente de My, passe também o nome dele por meio de /publishercertstore.
Empacotar o jogo base e o Publisher Content
As duas invocações depack devem fazer referência à mesma chave ou ao mesmo certificado.
Para pacotes XVC e MSIXVC
Empacote o jogo base:/publisherkeyprovider <providername> aos dois comandos.
Para pacotes MSIXVC2
Empacote o jogo base:CurrentUser\My, adicione /publishercertstore <store> aos dois comandos.
Para obter detalhes, consulte Criar pacote (makepkg.exe).
Publicar e atualizar
Os pacotes de Publisher Content são hospedados na sua CDN e não podem ser carregados no Partner Center. O
makepkg upload rejeita pacotes de Publisher Content tanto na forma solta quanto empacotada. O pacote do jogo base é carregado normalmente pelo fluxo padrão do Partner Center.- Carregue o XVC de Publisher Content empacotado na sua CDN, na URL que você referenciou no seu manifesto.
- Carregue o JSON do seu manifesto na URL que você declarou no elemento
ManifestUrldo jogo base. - Envie e distribua o jogo base pelo Partner Center normalmente.
- Carregue o novo pacote de Publisher Content na sua CDN em uma nova URL. Não substitua o pacote de Publisher Content antigo.
- Atualize o valor de
urlno manifesto para apontar para o novo pacote. - Carregue o arquivo JSON atualizado na URL que você declarou no elemento
ManifestUrldo jogo base.
