Skip to main content

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.
Publisher Content no sustituye al DLC. Siga usando los paquetes de DLC estándar cuando necesite derechos de uso por usuario, flujos de compra o licencias de Microsoft Store.

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:
  1. 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.
  2. Crea un paquete de Publisher Content que hace referencia al juego base mediante el identificador de Store.
  3. 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.
  4. 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.
  5. 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.
Para distribuir una nueva revisión del contenido, cargue un nuevo paquete en su CDN y actualice su manifiesto para que apunte a él. La plataforma detecta el cambio en la siguiente comprobación de actualizaciones.

Configurar el juego base

En el archivo MicrosoftGame.config de su juego base, agregue un elemento PublisherContent con un elemento secundario ManifestUrl. Todos los dispositivos que ejecuten su juego deben poder acceder a la URL.
Para obtener más información sobre estos elementos, consulte Elemento PublisherContent (MicrosoftGame.config) y Elemento ManifestUrl (MicrosoftGame.config).

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 elemento PublisherContentBaseProduct.
Para obtener más información, consulte Elemento PublisherContentBaseProduct (MicrosoftGame.config).
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 la ManifestUrl 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) cuando makepkg 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 llamada MyTestPubXvcSigningKey en Microsoft Software Key Storage Provider.
Pase el nombre de la clave resultante a 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 certificados CurrentUser\My. En el siguiente ejemplo de PowerShell se crea un certificado RSA-4096 autofirmado en CurrentUser\My y se exporta su archivo .cer.
Pase la ruta de acceso del archivo .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 de pack deben hacer referencia a la misma clave o certificado.

Para paquetes XVC y MSIXVC

Empaquete el juego base:
Empaquete el Publisher Content:
Si usa un proveedor de almacenamiento de claves CNG distinto de Microsoft Software Key Storage Provider, agregue /publisherkeyprovider <providername> a ambos comandos.

Para paquetes MSIXVC2

Empaquete el juego base:
Empaquete el Publisher Content:
Si el certificado está instalado en un almacén distinto de 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.
  1. Cargue el XVC de Publisher Content empaquetado en su CDN, en la URL a la que hace referencia su manifiesto.
  2. Cargue el JSON de su manifiesto en la URL que declaró en el elemento ManifestUrl del juego base.
  3. Envíe y distribuya el juego base a través de Partner Center como de costumbre.
Para implementar una actualización:
  1. Cargue el nuevo paquete de Publisher Content en su CDN en una nueva URL. No reemplace el paquete de Publisher Content anterior.
  2. Actualice el valor url del manifiesto para que apunte al nuevo paquete.
  3. Cargue el archivo JSON actualizado en la URL que declaró en el elemento ManifestUrl del juego base.
Los dispositivos con el juego instalado detectan el cambio en la siguiente comprobación de actualizaciones y descargan el nuevo paquete de Publisher Content en segundo plano.

Acceder a Publisher Content en tiempo de ejecución

En tiempo de ejecución, descubra el Publisher Content instalado de la misma forma que descubre el DLC: mediante XPackageEnumeratePackages y, después, montando el paquete devuelto con XPackageMountWithUiAsync. Pase XPackageKind::PublisherContent para filtrar la enumeración y obtener solo Publisher Content:
Si ya tiene un identificador de paquete de otro origen, use XPackageGetPackageKind para determinar si hace referencia a un paquete de Publisher Content:
Dado que Publisher Content no se licencia a través de Microsoft Store, no es necesario llamar a XStoreQueryPackageIdByKind ni realizar una comprobación de licencia de la Store antes del montaje.

Comportamiento de desinstalación

Cuando un jugador desinstala el juego base, la plataforma desinstala automáticamente el paquete de Publisher Content asociado. No es necesario quitarlo explícitamente desde el código del juego.

Consulte también

Última modificación el 6 de octubre de 2026