Paquetes de Publisher Content
Publisher Content es un tipo de paquete que le permite hospedar contenido complementario del juego en su propia red de entrega de contenido (CDN), mientras la plataforma sigue administrando la instalación, la descarga en segundo plano, la validación de integridad y la experiencia del usuario. Los paquetes de Publisher Content son compatibles con las consolas de la familia XBOX One y con las consolas XBOX Series X|S a partir del GDK de octubre de 2026 (GDK 2610). Los paquetes de Publisher Content se comportan como el contenido descargable (DLC) en tiempo de ejecución: se instalan junto con un juego base, se montan en su proceso y se desmontan cuando el juego se cierra. A diferencia del DLC, no se ingieren a través de Partner Center, no tienen identificador de Store y no se venden ni se licencian a través de Microsoft Store. Su servicio es la fuente de verdad sobre qué contenido se distribuye, cuándo se actualiza y quién lo recibe.Cuándo usar Publisher Content
Considere el uso de Publisher Content cuando quiera hacer cualquiera de lo siguiente:- Distribuir pequeñas actualizaciones de servicio en vivo (datos de configuración, tablas de ajuste, pequeños paquetes de recursos) sin pasar por la ingesta de la Store.
- Entregar contenido de complemento con la marca del editor que todos los jugadores del juego base reciban automáticamente.
- Reutilizar una CDN y una canalización de contenido existentes que ya utilice para sus juegos en otras plataformas.
- Mantener el control sobre el calendario de implementación, la segmentación regional o las pruebas A/B en la capa de la CDN.
Requisitos y restricciones
- Un paquete de Publisher Content por juego base.
- Disponible para cualquier jugador que posea el juego base. No hay comprobación de licencia por usuario.
- Compatible con las consolas de la familia XBOX One y las consolas XBOX Series X|S.
- El juego base y el paquete de Publisher Content deben usar el mismo formato de paquete. Por ejemplo, si el juego base está empaquetado como MSIXVC2, el paquete de Publisher Content también debe ser MSIXVC2.
- El paquete de Publisher Content debe ser pequeño, es decir, de menos de 1 GB.
- El paquete de Publisher Content se firma con material de firma proporcionado por el editor, y el juego base incluye el material público correspondiente para que la plataforma pueda validar el Publisher Content que afirma pertenecerle. El juego base se firma de la misma forma que cualquier otro título. El material de firma varía según el formato de paquete:
- XVC y MSIXVC: una clave de firma CNG sin procesar. Se requiere RSA-4096.
- MSIXVC2: un certificado X.509 con una clave RSA-4096. El certificado debe ser válido actualmente, tener una clave privada RSA accesible y permitir firmas digitales.
La plataforma no proporciona confidencialidad del contenido para los paquetes de Publisher Content. A diferencia del DLC de Microsoft Store, Publisher Content no se cifra para su distribución: cualquier persona que descargue el archivo de su CDN puede inspeccionar su contenido. Si necesita confidencialidad para partes de su carga útil, cifre esas partes dentro del propio contenido antes del empaquetado.
Cómo encajan las piezas
A grandes rasgos:- Declara una URL de manifiesto en su juego base en MicrosoftGame.config. Esta URL apunta a un pequeño archivo JSON que hospeda en su CDN y que puede actualizar en cualquier momento.
- Crea un paquete de Publisher Content que hace referencia al juego base mediante el identificador de Store.
- Firma el paquete de Publisher Content con su material de firma de editor. El juego base incluye el material público correspondiente para que la plataforma pueda validar cualquier Publisher Content que afirme pertenecerle.
- Cuando un jugador instala el juego base, la plataforma obtiene su manifiesto, lee la URL de CDN del paquete de Publisher Content actual y pone en cola su instalación.
- En tiempo de ejecución, su juego enumera los paquetes instalados y monta el paquete de Publisher Content de la misma forma que montaría un DLC.
Configurar el juego base
En el archivo MicrosoftGame.config de su juego base, agregue un elementoPublisherContent con un elemento secundario ManifestUrl. Todos los dispositivos que ejecuten su juego deben poder acceder a la URL.
Crear el paquete de Publisher Content
Cree un archivo MicrosoftGame.config junto a la carga útil de Publisher Content. Haga referencia al juego base mediante su identificador de Store con el elementoPublisherContentBaseProduct.
No incluya un elemento
AllowedProducts en un paquete de Publisher Content. Ese elemento identifica un paquete como DLC estándar y es mutuamente excluyente con PublisherContentBaseProduct.Crear el manifiesto
Hospede un pequeño manifiesto JSON en laManifestUrl que declaró en el juego base. El manifiesto contiene un único campo url que apunta al paquete de Publisher Content actual en su CDN. Asegúrese de no cambiar el Publisher Content en esa URL una vez publicado; en su lugar, publique cada nueva versión del paquete de Publisher Content en una nueva URL y actualice el manifiesto en consecuencia.
Generar el material de firma del editor
El material de firma del editor reside en su máquina de compilación y se hace referencia a él por nombre (o huella digital) cuandomakepkg empaqueta el juego base y el paquete de Publisher Content. La forma exacta depende del formato de paquete de destino.
Trate la clave de firma del editor o la clave privada del certificado como un secreto de producción. Cualquier persona con acceso al material privado puede generar paquetes de Publisher Content que la plataforma aceptará como si procedieran de usted.
Para paquetes XVC y MSIXVC
Cree una clave de firma RSA-4096 en un proveedor de almacenamiento de claves CNG de Windows en la máquina de compilación. En el siguiente ejemplo de PowerShell se crea una clave de firma RSA-4096 exportable llamadaMyTestPubXvcSigningKey en Microsoft Software Key Storage Provider.
makepkg pack mediante /usepublisherkey. Si usa un proveedor de almacenamiento de claves CNG distinto del predeterminado, pase también su nombre mediante /publisherkeyprovider.
Para paquetes MSIXVC2
Cree un certificado X.509 cuya clave de sujeto sea una clave RSA-4096 e instale el certificado y su clave privada en el almacén de certificadosCurrentUser\My.
En el siguiente ejemplo de PowerShell se crea un certificado RSA-4096 autofirmado en CurrentUser\My y se exporta su archivo .cer.
.cer exportado o la huella digital del certificado a makepkg pack mediante /usepublishercert. Si el certificado está instalado en un almacén distinto de My, pase también su nombre mediante /publishercertstore.
Empaquetar el juego base y el Publisher Content
Ambas invocaciones depack deben hacer referencia a la misma clave o certificado.
Para paquetes XVC y MSIXVC
Empaquete el juego base:/publisherkeyprovider <providername> a ambos comandos.
Para paquetes MSIXVC2
Empaquete el juego base:CurrentUser\My, agregue /publishercertstore <store> a ambos comandos.
Para obtener más detalles, consulte Crear paquete (makepkg.exe).
Publicar y actualizar
Los paquetes de Publisher Content se hospedan en su CDN y no se pueden cargar en Partner Center.
makepkg upload rechaza los paquetes de Publisher Content tanto en formato sin empaquetar como empaquetado. El paquete del juego base se carga con normalidad mediante el flujo estándar de Partner Center.- Cargue el XVC de Publisher Content empaquetado en su CDN, en la URL a la que hace referencia su manifiesto.
- Cargue el JSON de su manifiesto en la URL que declaró en el elemento
ManifestUrldel juego base. - Envíe y distribuya el juego base a través de Partner Center como de costumbre.
- Cargue el nuevo paquete de Publisher Content en su CDN en una nueva URL. No reemplace el paquete de Publisher Content anterior.
- Actualice el valor
urldel manifiesto para que apunte al nuevo paquete. - Cargue el archivo JSON actualizado en la URL que declaró en el elemento
ManifestUrldel juego base.
