> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Habilitación de las pruebas de licencias

> Configure una compilación de desarrollo de XBOX licenciable para probar las API de licencias de XStore, incluidos los escenarios pertinentes y los pasos de configuración necesarios en Partner.

Este artículo describe cómo configurar una compilación de desarrollo para que sea licenciable, con el fin de probar escenarios relacionados con las licencias.

## Escenarios y API pertinentes

Para probar las API siguientes, debe configurar su entorno de desarrollo como se describe en este artículo:

| API                                                                         | Uso                                                                                                                                                                  |
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [XStoreQueryGameLicenseAsync](/reference/system/xstore/xstore_members)      | Consultar las características de una licencia de prueba o basada en disco para el juego.                                                                             |
| [XStoreQueryLicenseTokenAsync](/reference/system/xstore/xstore_members)     | Generar un token de licencia válido para la validación basada en servicios; consulte [Uso de tokens de licencia](/publishing/xstore-commerce/xstore-license-tokens). |
| [XStoreQueryAddOnLicensesAsync](/reference/system/xstore/xstore_members)    | Devolver licencias de complementos (duraderos sin paquetes) asociadas a una licencia digital del juego.                                                              |
| [XStoreRegisterGameLicenseChanged](/reference/system/xstore/xstore_members) | Registrarse para detectar un cambio de licencia (por ejemplo, cuando una licencia de prueba se actualiza a una licencia completa).                                   |

## 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](/publishing/xstore-commerce/xstore-product-sharing).

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)

Estas compilaciones se inician sin comprobaciones de licencias ni configuración relacionada. La mayoría de las API de `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](/publishing/xstore-commerce/xstore-product-testing-setup)).

A continuación, deben realizarse los pasos siguientes:

1. [Anotar el identificador de contenido específico del juego o del DLC](#get-contentid)
2. [Aplicar el identificador de contenido a la compilación, según el tipo de compilación](#apply-content-id-to-build)
3. [**Solo consola**: anotar y aplicar el EKBID a la compilación](#apply-ekbid-to-build-only-applicable-to-console)

Después, para cada cuenta que ejecute la compilación, debe adquirirse un derecho comprando el producto en la Store correspondiente a la plataforma.

## Obtención del ContentID

Puede encontrar el ContentID en la página **Packages** después de seleccionar **Show details**:

<img src="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/packagedetails.png?fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=a3facb4ae0079bb08cc33e22f6688d65" alt="Página Packages en Partner Center" width="1029" height="520" data-path="images/xstore/packagedetails.png" />

<Note>
  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.
</Note>

### Consola

Encuentre el identificador de contenido de un paquete instalado ejecutando `xbapp list /d` (o `xbapp listdlc /d` para DLC) en el símbolo del sistema de juegos (Gaming Command Prompt).

```cmd theme={null}
Registered Applications by Package Full Name:

   41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0  
        Install  
        Drive: Development  
        Size: 0.28 GB.  
        ContentId: {2797FA46-A93B-494C-AD80-B67C9FCA939F}  
        ProductId: {4C544E39-5130-3044-C057-5A3446536A00}  
        EKBID: {37E80840-6BE0-46F8-8EDB-92F877056087}  
        DisplayName: ATG In-Game Store Sample  
        41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game  
```

### PC

Encuentre el identificador de contenido de un paquete instalado ejecutando `wdapp 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:

```xml theme={null}
  <DevelopmentOnly>
    <ContentIdOverride>2797FA46-A93B-494C-AD80-B67C9FCA939F</ContentIdOverride>
    <EKBIDOverride>00000000-0000-0000-0000-000000000001</EKBIDOverride>
  </DevelopmentOnly>
```

Para compilaciones de paquete, pase el identificador de contenido a `makepkg`. Por ejemplo:

```cmd theme={null}
makepkg pack /v /f chunks.xml /d Gaming.Xbox.XboxOne.x64\Layout\Image\Loose /pd ./output /contentid 2797FA46-A93B-494C-AD80-B67C9FCA939F
```

Si crea un paquete sin el parámetro `/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:

```cmd theme={null}
xbapp setekbid <package full name> {<GUID that is not all zeroes or 33EC8436-5A0E-4F0D-B1CE-3F29C3955039>}
```

Por ejemplo:

```cmd theme={null}
xbapp setekbid 41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0 {00000000-0000-0000-0000-000000000001}
```

Esta configuración no es relevante en PC (no existe el comando `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, ejecute `xbapp 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](/publishing/xstore-commerce/xstore-trials).

## 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](/publishing/xstore-commerce/xstore-switching-sandbox).

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.

<Note>
  Debe adquirir un derecho para cada cuenta que ejecute la compilación y espere que las API de XStore relacionadas con licencias funcionen.
</Note>

## DLC

Para que un DLC local sea licenciable, el identificador de contenido debe aplicarse en `makepkg` 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](/reference/system/xstore/xstore_members)
* [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForStoreIdAsync](/reference/system/xstore/xstore_members)
* [XStoreRegisterPackageLicenseLost](/reference/system/xstore/xstore_members)

Puede encontrar más detalles aquí:

[Administración y licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc)

[Cómo usar un producto duradero sin paquete](/publishing/xstore-commerce/xstore-dwob)

## Documentación de referencia de la API

* [XStore (contenido de la API)](/reference/system/xstore/xstore_members)
  * Funciones
    * [XStoreQueryGameLicenseAsync](/reference/system/xstore/xstore_members)
    * [XStoreQueryLicenseTokenAsync](/reference/system/xstore/xstore_members)
    * [XStoreQueryAddOnLicensesAsync](/reference/system/xstore/xstore_members)
    * [XStoreRegisterGameLicenseChanged](/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForDurablesAsync](/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForStoreIdAsync](/reference/system/xstore/xstore_members)
    * [XStoreRegisterPackageLicenseLost](/reference/system/xstore/xstore_members)

## Consulte también

[Información general sobre comercio](/publishing/xstore-commerce/xstore-commerce-overview)<br />[Habilitación del desarrollo y las pruebas con XStore](/publishing/xstore-commerce/xstore-product-testing-setup)<br />[Cambio correcto de sandbox para las operaciones de la Store](/publishing/xstore-commerce/xstore-switching-sandbox)<br />[Referencia de la API XStore](/reference/system/xstore/xstore_members)


## Related topics

- [Habilitación del desarrollo y las pruebas de XStore](/es/publishing/xstore-commerce/xstore-product-testing-setup.md)
- [Administración y licencias de contenido descargable (DLC)](/es/publishing/xstore-commerce/xstore-dlc.md)
- [XStoreQueryGameLicenseAsync](/es/reference/system/xstore/functions/xstorequerygamelicenseasync.md)
- [XStoreQueryLicenseTokenAsync](/es/reference/system/xstore/functions/xstorequerylicensetokenasync.md)
- [XStoreCanAcquireLicenseForPackageAsync](/es/reference/system/xstore/functions/xstorecanacquirelicenseforpackageasync.md)
