Escenarios y API pertinentes
Para probar las API siguientes, debe configurar su entorno de desarrollo como se describe en este artículo:Contexto
En escenarios comerciales, un juego debe tener una licencia para poder jugarse. Una solicitud de licencia comprueba si hay un disco instalado o envía una solicitud a los servicios de Microsoft. Se concede una licencia si la cuenta tiene derecho al producto mediante una compra directa o satisfactoria (por ejemplo, a partir de una suscripción o un lote). Las licencias también se pueden conceder en escenarios de uso compartido. Para obtener más información sobre el uso compartido, consulte Modelo de uso compartido de productos para juegos. Los escenarios de desarrollo no siguen este comportamiento de forma predeterminada. Estos escenarios incluyen:- Compilaciones sueltas (implementación con F5 de Visual Studio, xbapp/wdapp register/deploy)
- Compilaciones de paquete locales (makepkg, xbapp/wdapp install)
XStore siguen funcionando, pero pueden producirse resultados inesperados al licenciar juegos o duraderos.
Para configurar una compilación de modo que se comporte como licenciable, aplique los valores de identidad correctos en el MicrosoftGameConfig (descrito en Habilitación del desarrollo y las pruebas con XStore).
A continuación, deben realizarse los pasos siguientes:
- Anotar el identificador de contenido específico del juego o del DLC
- Aplicar el identificador de contenido a la compilación, según el tipo de compilación
- Solo consola: anotar y aplicar el EKBID a la compilación
Obtención del ContentID
Puede encontrar el ContentID en la página Packages después de seleccionar Show details:
El identificador de contenido de las versiones de sandbox y comercial puede ser diferente. Si instala una versión comercial del juego, el producto se asocia a un identificador de contenido distinto del que necesita para el sandbox. El identificador de contenido también difiere si hay paquetes regionales implicados.
Consola
Encuentre el identificador de contenido de un paquete instalado ejecutandoxbapp list /d (o xbapp listdlc /d para DLC) en el símbolo del sistema de juegos (Gaming Command Prompt).
PC
Encuentre el identificador de contenido de un paquete instalado ejecutandowdapp list /d (o wdapp listdlc /d para DLC) en el símbolo del sistema de juegos. Para los paquetes que instale desde la Store, use la marca /includeStore.
Aplicación del identificador de contenido a la compilación
Para compilaciones sueltas, agregue la sección siguiente en el MicrosoftGameConfig:makepkg. Por ejemplo:
/contentid, el proceso de instalación aplica cualquier ContentIdOverride disponible en el MicrosoftGameConfig al instalar desde un origen local.
Las compilaciones instaladas desde la Store (sandbox o comercial) siempre tienen el identificador de contenido correcto (tal como se ve en Partner Center).
Aplicación del EKBID a la compilación (solo aplicable a consola)
Establezca el EKBID (Escrow Key Blob ID) para que la compilación sea licenciable en la consola. Para la mayoría de los escenarios, simplemente debe sustituirse el valor de prueba predeterminado de todo ceros o 33EC8436-5A0E-4F0D-B1CE-3F29C3955039. Sustituya el EKBID con el comando siguiente:wdapp setekbid).
Versiones de prueba y EKBID
Para las versiones de prueba, debe aplicarse el EKBID real. Para encontrar el EKBID que usa el juego, ejecutexbapp list /d para una compilación instalada desde la Store. Para obtener más información, consulte Implementación de versiones de prueba para su juego.
Asegurarse de que la cuenta de prueba tiene derecho al producto en el sandbox
Para los productos publicados tanto en el sandbox como en el entorno comercial, puede usar DevEntitlementTool para consultar y adquirir derechos para una cuenta de prueba. La mejor manera de obtener un derecho es ir directamente a la página de la Store del producto mediante la activación por protocolo, ya que los productos publicados solo en el sandbox podrían no aparecer en las búsquedas. La consola de desarrollo o el PC deben estar configurados en el sandbox donde se publica el juego. Para obtener más información, consulte la documentación de información general sobre los sandboxes de los servicios de XBOX y, para PC, consulte Cambio correcto de sandbox para las operaciones de la Store. Una vez que haya iniciado sesión correctamente, use el vínculo de protocolo de la Store para llegar a la página de la Store: En la consola: Use el símbolo del sistema de juegos:xbapp launch ms-windows-store://pdp/?productid=<storeID>
En PC:
En el cuadro Ejecutar (⊞Win +R) o en un explorador web
msxbox://game/?productId=<storeID> (para mostrar el producto en la XBOX App)
O bien
ms-windows-store://pdp/?productid=<storeID> (para mostrar el producto en Microsoft Store)
Una vez en la página de la Store, seleccione Buy o Get para adquirir una licencia del producto para su cuenta de prueba. La descarga y la instalación de los juegos y del DLC deberían iniciarse automáticamente. Si tiene previsto iterar con compilaciones locales, puede cancelar la operación.
Debe adquirir un derecho para cada cuenta que ejecute la compilación y espere que las API de XStore relacionadas con licencias funcionen.
DLC
Para que un DLC local sea licenciable, el identificador de contenido debe aplicarse enmakepkg y xbapp setekbid debe establecerse en un valor distinto de los valores predeterminados. Solo el DLC debe configurarse para las licencias, no el juego base.
Las invalidaciones de licencias son relevantes para las API siguientes cuando se llaman con un duradero con paquete:
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
Documentación de referencia de la API
- XStore (contenido de la API)
- Funciones
- XStoreQueryGameLicenseAsync
- XStoreQueryLicenseTokenAsync
- XStoreQueryAddOnLicensesAsync
- XStoreRegisterGameLicenseChanged
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
- Funciones
Consulte también
Información general sobre comercioHabilitación del desarrollo y las pruebas con XStore
Cambio correcto de sandbox para las operaciones de la Store
Referencia de la API XStore
