> ## 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: デバイス指定子

> Intelligent Delivery: デバイス指定子

デバイス指定子は、インストールチャンクのコンテンツが適用可能な XBOX One ファミリーのコンソールおよび XBOX Series コンソールを宣言します。デバイス指定子を使用すると、その世代の最上位コンソールを使用していないユーザーに不要なダウンロードを引き起こすことなく、コンソール世代で可能な最も高忠実度のエクスペリエンスを提供できます。XBOX One ファミリーのデバイスでは、HDR グラフィックスなどの一部のコンテンツを、XBOX One X デバイスでのみダウンロードが必要なチャンクとしてマークできます。これにより、XBOX One および XBOX One S のユーザーは、それらのデバイスでサポートされていない HDR アセットを含まないより効率的なダウンロードを実現できます。一部のコンテンツは両方のコンソールで共通です。たとえば、タイトルを実行している任意のデバイスでオーディオアセットが同一である場合があります。それらのアセットを含むチャンクにはデバイス指定子はありません。

デバイス指定子は次のシナリオを可能にします。

* XBOX ファミリーのコンソール全体のデバイス向けに新しいタイトルを出荷するとき、コンソールファミリーの上位デバイスでのみ必要なコンテンツを宣言できます。デバイス指定子のないコンテンツは、すべてのコンソールにインストールされます。詳細については、[新しいタイトルのパッケージング設計](/build/core-features/common/packaging/intelligentdelivery-device#new-title) セクションを参照してください。

* より高忠実度のアセットを持つ新しいチャンクを追加することで、既存のタイトルを更新して XBOX One X または XBOX Series X デバイスでのより高い解像度をサポートできます。これらの新しいチャンクを正しいデバイス指定子でマークすれば、XBOX One、XBOX One S、または XBOX Series S コンソールに既にタイトルをインストールしているゲーマーに悪影響はありません。詳細については、[XBOX One X または Anaconda デバイスのみに対するアセットの指定](/build/core-features/common/packaging/intelligentdelivery-device#existing-title) に関するセクションを参照してください。

<a id="new-title" />

## デバイス固有のアセットを持つ同一世代の複数デバイスで動作する新しいタイトルのパッケージング設計

XBOX One、XBOX One S、および XBOX One X デバイス、または XBOX Series S および XBOX Series X デバイスに同時に出荷する新しいタイトルは、Intelligent Delivery を使用して特定のデバイスの種類を特定のコンテンツでターゲットにできます。アセットをターゲットにするための一般的な戦略が 2 つあります。

* [各デバイスクラスに特定のコンテンツを調整する](/build/core-features/common/packaging/intelligentdelivery-device#ID4ERD)
* [同じ世代内で最も高性能なデバイス (XBOX One X、Anaconda) に追加のアセットを宣言する](/build/core-features/common/packaging/intelligentdelivery-device#console-specific)

<a id="ID4ERD" />

### 各デバイスクラスに特定のコンテンツを調整する

異なるデバイスに向けたアセットをターゲットにする 1 つの戦略は、同じ世代内で各デバイスに特定のコンテンツを調整することです。このシナリオでは、タイトルは特定のデバイスをターゲットとするチャンクにデバイス固有のアセットをパッケージ化します。

<Note>重複を含むチャンクの 1 つのみが一度にインストールされる場合でも、ファイル名とパスを異なるチャンク間で重複させることはできません。フォルダー名に従ってファイルをチャンクにグループ化 (すべての高解像度アセットを特定のフォルダーにグループ化するなど) するか、タイトルがそれらを区別できるようにファイル名を変更する (ファイル名に「\_sco」や「\_ana」を追加するなど) ことをお勧めします。</Note>

以下の layout.xml ファイルの例のセグメントは、異なるデバイスをターゲットとする 2 つのチャンクを宣言しています。インストール時に、システムはハードウェアデバイスの種類に応じてチャンク 2001 とチャンク 2002 のどちらをインストールするかを判断します。

XBOX One 世代の場合:

```xml theme={null}
<Chunk Id="2001" Devices="Xbox-Durango">
    <FileGroup DestinationPath="\Data\Maps\XboxOneOnly\LightMaps"             SourcePath="Y:\Maps\Level1\XboxOneOnly\LightMaps" Include="*.map"/>
<Chunk>
<Chunk Id="2002" Devices="Xbox-Scorpio">
    <FileGroup DestinationPath="\Data\Maps\Scorpio\HiResLightMaps"             SourcePath="Y:\Maps\Level1\Scorpio\HiResLightMaps" Include="*.map"/>
<Chunk>  
```

Lockhart および Anaconda デバイスの場合:

```xml theme={null}
<Chunk Id="2001" Devices="Xbox-Lockhart">
    <FileGroup DestinationPath="\Data\Maps\LockhartOnly\LightMaps"             SourcePath="Y:\Maps\Level1\LockhartOnly\LightMaps" Include="*.map"/>
<Chunk>
<Chunk Id="2002" Devices="Xbox-Anaconda">
    <FileGroup DestinationPath="\Data\Maps\Anaconda\HiResLightMaps"             SourcePath="Y:\Maps\Level1\Anaconda\HiResLightMaps" Include="*.map"/>
<Chunk>  
```

### デバイスタイプの取得

実行時に、タイトルが実行されているデバイスを判断するために [XSystemGetDeviceType](/reference/system/xsystem/functions/xsystemgetdevicetype) メソッドをタイトルで使用し、その情報に基づいて適切なアセットセットを使用する必要があります。

```cpp theme={null}
#include <XSystem.h>

XSystemDeviceType deviceType = XSystemGetDeviceType();

switch (deviceType)
{
case XSystemDeviceType::Pc:                     ... break;
case XSystemDeviceType::XboxOne:                ... break;   //Xbox-Durango device specifier tag
case XSystemDeviceType::XboxOneS:               ... break;   //Xbox-Durango device specifier tag
case XSystemDeviceType::XboxOneX:               ... break;   //Xbox-Scorpio device specifier tag
case XSystemDeviceType::XboxOneXDevkit:         ... break;
case XSystemDeviceType::XboxScarlettLockhart:   ... break;   //Xbox-Lockhart device specifier tag
case XSystemDeviceType::XboxScarlettAnaconda:   ... break;   //Xbox-Anaconda device specifier tag
case XSystemDeviceType::XboxScarlettDevkit:     ... break;
case XSystemDeviceType::Unknown:                ... break;
}
```

小売コンソールの [XSystemGetDeviceType](/reference/system/xsystem/functions/xsystemgetdevicetype) 値は、layout.xml ファイルで使用するデバイス指定子タグに対応します。`Xbox-Durango` は XBOX One と XBOX One S の両方のデバイス指定子タグであることに注意してください。

| デバイス指定子タグ       | XSystemDeviceType        |
| --------------- | ------------------------ |
| `Xbox-Durango`  | XBOX One<br />XBOX One S |
| `Xbox-Scorpio`  | XBOX One X               |
| `Xbox-Lockhart` | XBOX Series S            |
| `Xbox-Anaconda` | XBOX Series X            |

デバイス指定子タグは layout.xml ファイルで使用する値です。

<a id="console-specific" />

### XBOX One X 固有または Anaconda 固有のアセットの宣言

特定のデバイスをターゲットとする 2 つ目の戦略は、世代内の特定のコンソールデバイスにのみインストールされる追加のアセットを宣言することです。このシナリオでは、両方のコンソールに共通のすべてのアセットは、デバイス指定子のないチャンクに配置されます。XBOX One X 固有または Anaconda 固有のアセットは、それら自身のチャンクに配置されます。

<a id="existing-title" />

## XBOX One X または Anaconda デバイスのみに対するアセットの指定

デバイスに固有のアセットをタイトルに追加するには、そのデバイスにのみ適用可能なアセットを特定し、layout.xml ファイル内の新しいチャンクに分離し、それらに `Xbox-Durango` または `Xbox-Anaconda` デバイス指定子を適用します。これは次の例に示されています。

XBOX One 世代

```xml theme={null}
<Chunk Id="2002" Devices="Xbox-Scorpio">
    <FileGroup DestinationPath="\Data\Maps\Scorpio\HiResLightMaps"             SourcePath="Y:\Maps\Level1\Scorpio\HiResLightMaps" Include="*.dat"/>
<Chunk>  
```

XBOX Series X|S 世代

```xml theme={null}
<Chunk Id="2002" Devices="Xbox-Anaconda">
    <FileGroup DestinationPath="\Data\Maps\Anaconda\HiResLightMaps"             SourcePath="Y:\Maps\Level1\Anaconda\HiResLightMaps" Include="*.dat"/>
<Chunk>  
```

<a id="ID4EYH" />

## 関連項目

[Intelligent Delivery](/build/core-features/common/packaging/overviews/intelligentdelivery)
[XSystemGetDeviceType](/reference/system/xsystem/functions/xsystemgetdevicetype)


## Related topics

- [Intelligent Delivery](/ja-jp/build/core-features/common/packaging/overviews/intelligentdelivery.md)
- [XBOX GDK タイトルのパッケージングとデプロイ](/ja-jp/build/core-features/common/packaging/index.md)
- [FMA: XR-129 Intelligent Delivery のコンテンツ管理](/ja-jp/publishing/certification/fma/xr-129.md)
- [XR-129 Intelligent Delivery のコンテンツ管理](/ja-jp/publishing/certification/xr/xr-129.md)
- [Intelligent Delivery: Feature と Recipe](/ja-jp/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
