> ## 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.

# Intelligent Delivery: características y recetas

> Intelligent Delivery: características y recetas

En este tema se describe cómo usar características y recetas para mejorar los tiempos de instalación inicial y posteriores del juego para el usuario. Las características y las recetas funcionan conjuntamente para definir grupos de contenido dentro del juego base que los usuarios pueden agregar y quitar durante la instalación inicial, así como desde el shell más adelante. También puede usar las API en tiempo de ejecución para consultar dinámicamente el estado de instalación de las características y desencadenar la adición y eliminación de características.

Una característica es un elemento XML que especifica un atributo de cadena de identificador orientado al desarrollador. También especifica el nombre para mostrar localizable orientado al usuario y la imagen que se muestra en el shell. La característica especifica una o varias etiquetas. En el momento de la instalación y la actualización, el sistema busca todas las etiquetas a las que hacen referencia las características instaladas e instala todos los fragmentos (chunks) que contienen esas etiquetas.

Una receta es un elemento XML que especifica una lista de características que deben instalarse. Siempre hay una receta predeterminada, y las características que incluye esa receta siempre se instalan. Se pueden definir recetas adicionales. Estas se activan en el momento de la instalación si el usuario o la consola actual tienen derechos sobre cualquiera de los `StoreIds` especificados, como se muestra en el código siguiente.

```xml theme={null}
<Recipes>
    <!-- A recipe is always active if it has no child StoreId elements—the name "default" is a convention. -->
    <Recipe Id="default" IncludedFeatures="CampaignFeature;MultiPlayerFeature"/>

    <!-- This recipe is active by default, but only on Xbox Series X hardware.  -->
    <Recipe Id="default-anaconda" IncludedFeatures="HDFeature" Devices="Xbox-Anaconda"/>

    <!-- PremiumProduct recipe is active, which means PremiumFeature installs if user owns 9PXXXXXXXXXX. -->
    <Recipe Id="PremiumProduct" IncludedFeatures="PremiumFeature">
        <StoreId>9PXXXXXXXXXX</StoreId>
    </Recipe>
</Recipes>
<Features>
    <Feature Id="CampaignFeature" DisplayName="ms-resource:CampaignFeatureName" Image="campaignlogo.png" Tags="Campaign1;Campaign2"/>
    <Feature Id="MultiPlayerFeature" DisplayName="ms-resource:MultiPlayerFeatureName" Image="MPlogo.png" Tags="Multiplayer1;Multiplayer2" />
    <Feature Id="HDFeature" DisplayName="ms-resource:HDTexturesFeatureName" Image="HDlogo.png" Tags="hd"/>
    <Feature Id="PremiumFeature" DisplayName="ms-resource:PremiumFeatureName" Image="Premiumlogo.png" Tags="extras"/>
</Features>


<Chunk Id="8000" Tags="Campaign1">
<Chunk Id="8001" Tags="Campaign2">
<!-- This chunk uses the # character, so it's only installed if both the Campaign and HD features are active. -->
<Chunk Id="8001" Tags="Campaign1#hd"> 

<Chunk Id="9000" Tags="Multiplayer1">
<!-- This chunk uses the # character, so it's only installed if both the Multiplayer and HD features are active. -->
<Chunk Id="9001" Tags="Multiplayer1#hd"> 

<!-- This chunk is installed if either the Multiplayer or SinglePlayer features are active. -->
<Chunk Id="10000" Tags="Multiplayer1;Campaign1">
<!-- This chunk is installed if either the (Multiplayer feature and HD feature) or (SinglePlayer feature and HD feature) are active. -->
<Chunk Id="10001" Tags="Multiplayer1#hd;Campaign1#hd">

<Chunk Id="11000" Tags="extras">
<!-- This chunk uses the # character, so it's only installed if both the Premium and HD features are active. -->
<Chunk Id="11001" Tags="extras#hd"> 
```

<Note>Las características pueden contener más de un atributo de etiqueta, separados por punto y coma. Un fragmento se incluye para la instalación si cualquiera de las etiquetas del fragmento está incluida en una característica activa. El símbolo `#` instala una etiqueta si las etiquetas de ambos lados del `#` están activas.</Note>

## Localización de los nombres para mostrar de las características

La localización de los `DisplayNames` se realiza de la misma manera que la localización de los atributos de nombre dentro del archivo *MicrosoftGame.config*. Esto se hace mediante el formato `ms-resource:name`, junto con los archivos *.resw* que están en el directorio strings del juego y las cadenas por configuración regional en subdirectorios con los nombres adecuados. Para obtener más información, consulte [Localización de MicrosoftGame.Config](/build/core-features/common/game-config/MicrosoftGameConfig-Localization)

<Note>Los valores de cadena localizados y las imágenes que se usan con MicrosoftGame.config e Intelligent Delivery no se cifran en los paquetes publicados, ni en los sandboxes de desarrollador ni en la versión comercial. Use valores de marcador de posición en su juego para el título, los iconos y cualquier contenido confidencial. El contenido confidencial incluye cualquier contenido al que haga referencia Intelligent Delivery durante el desarrollo, antes de la divulgación pública de su título, o contenido específico que se encuentre dentro de su título.</Note>

## Características ocultas

Las características se marcan como ocultas, lo que impide que los usuarios decidan si se muestran como opciones seleccionables en el momento de la instalación o al administrarlas desde el shell después de instalar el título. Tenga cuidado al usar características ocultas, porque la única manera de agregarlas o quitarlas es mediante las API dentro de su título. Cualquier error detectado en su título podría dar lugar a contenido inaccesible hasta que proporcione una actualización de contenido para corregir esos errores. El código siguiente es un ejemplo de una característica marcada como oculta.

```xml theme={null}
  <Feature Id="HiddenFeature" Hidden="true" Tags="HiddenFeature1" />
```

## Comprobación del estado de instalación de las características

Puede usar las características para comprobar la presencia de todos los fragmentos con las etiquetas especificadas por esa característica. Al realizar estas consultas en tiempo de ejecución, se tienen en cuenta los especificadores de dispositivo y de idioma. Si tiene contenido específico de dispositivo o de idioma dentro de la característica, seguirá devolviendo `true` siempre que estén instalados un idioma y todos los fragmentos aplicables al dispositivo actual dentro de esa característica.

Por ejemplo, si los recursos de la característica de campaña están contenidos en los fragmentos 8000, 8001 y 8002, en lugar de llamar al método [XPackageFindChunkAvailability](/reference/system/xpackage/functions/xpackagefindchunkavailability) para determinar si ese conjunto de fragmentos está totalmente instalado y listo para jugar, puede etiquetar los tres fragmentos con la etiqueta personalizada "campaign1" y hacer referencia a "campaign1" en la característica de campaña. A continuación, puede llamar al método [XPackageFindChunkAvailability](/reference/system/xpackage/functions/xpackagefindchunkavailability) mediante [XPackageChunkSelector](/reference/system/xpackage/structs/xpackagechunkselector) con el identificador de la característica de campaña para obtener fácilmente el estado de instalación de ese conjunto de datos.

<a id="ID4EHB" />

## Documentación de referencia de la API

* [XPackage (contenido de la API)](/reference/system/xpackage/xpackage_members)
  * Funciones
    * [XPackageFindChunkAvailability](/reference/system/xpackage/functions/xpackagefindchunkavailability)
    * [XPackageInstallChunks](/reference/system/xpackage/functions/xpackageinstallchunks)
  * Estructuras
    * [XPackageChunkSelector](/reference/system/xpackage/structs/xpackagechunkselector)

## Consulte también

[Introducción a Intelligent Delivery](/build/core-features/common/packaging/overviews/intelligentdelivery)
[XPackageChunkSelector](/reference/system/xpackage/structs/xpackagechunkselector)
[XPackageInstallChunks](/reference/system/xpackage/functions/xpackageinstallchunks)
[Localización de MicrosoftGame.Config](/build/core-features/common/game-config/MicrosoftGameConfig-Localization)


## Related topics

- [Intelligent Delivery](/es/build/core-features/common/packaging/overviews/intelligentdelivery.md)
- [Intelligent Delivery: contenido OnDemand](/es/build/core-features/common/packaging/intelligentdelivery-ondemand.md)
- [Esquema del paquete de implementación](/es/build/core-features/common/packaging/deployment/atoc-deployment-schema.md)
- [XR-129 Administración de contenido de entrega inteligente](/es/publishing/certification/xr/xr-129.md)
- [FMA: XR-129 Administración de contenido de entrega inteligente](/es/publishing/certification/fma/xr-129.md)
