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

# Games-as-a-Service (GaaS) のサポート

> Games-as-a-Service (GaaS) のサポート

特定の時点でリリースされる単独のゲームではなく、シーズンや更新を受けて長年にわたって鮮度を保つサービスとして扱われるモデルに移行しているゲームがあります。このモデルは Games-as-a-Service (GaaS) と呼ばれます。GDK はこのモデルに対する優れたサポートを提供します。このドキュメントでは、GDK を使用してゲームをサービスとして公開する際に考慮すべきベスト プラクティスの概要を提供します。

## GDK の採用

各 GDK は 1 年間のみサポートされます。既存のゲームは、リタイアした GDK を使用して引き続き出荷できますが、これはサービスとして出荷されるゲームにとっては問題となる可能性があります。GDK がリタイアした後に新機能を導入するゲームは、GDK の以前の使用例では見られなかったバグや統合上の問題に遭遇する可能性があります。同様に、ゲームはリリースされている最新の GDK にのみ含まれる機能を活用したい場合もあります。

ゲームは、単一の GDK に対してビルドする必要があります。ゲームは、ある GDK と別の GDK のコンポーネントを混在させることはできません。コンソール上では、ゲームには単一の Game OS のみが含まれ、さまざまな GDK ライブラリはその基盤となる OS への依存関係を持つ場合があります。PC 上では、ゲーミング ランタイムの 1 バージョンのみがゲーム プロセスにロードされるため、コンソールで見られるのと同様の「単一バージョン」環境が作成されます。

GaaS タイトルは、まだサポートされているより最近リリースされた GDK に定期的に更新することを推奨します。

## Intelligent Delivery

GaaS タイトルは、新しいコンテンツの導入に伴い、年月とともにどんどん大きくなる可能性があります。ゲーマーはストレージ容量が限られている場合があります。これは、ゲームの最新の更新をインストールする能力に影響する可能性があります。ゲーマーは自分のストレージ空間を管理する能力を持っていますが、[Intelligent Delivery](/build/core-features/common/packaging/overviews/intelligentdelivery) を用いてビルドされたゲームは、ゲーム全体を丸ごとアンインストールする以上に、ストレージの使い方の柔軟性と選択肢をゲーマーに与え、ゲーマーがより多くのゲームをより長い期間デバイスにインストールしたままにできるようにします。

Intelligent Delivery を使用することで、ゲームは [機能とレシピ](/build/core-features/common/packaging/intelligentdelivery-features-recipes) を活用し、既定でインストールされるものを選択し、ゲームのどの部分をインストールしたままにするか、また使わなくなったため削除したい部分はどれかを管理できるようになります。

GaaS タイトルは、こうした管理を可能にするために、新しいコンテンツを個別の機能に配置することもできます。考え方としては、新しいコンテンツは [durable](https://learn.microsoft.com/build/store/commerce/fundamentals/xstore-dwobs) であるということです。これを管理しやすくするための 1 つの提案は次のとおりです。

1. ゲームのレイアウト ファイルで、各 durable を **Feature** に対応させます。
2. **Feature** は 1 つ以上の **Tags** を宣言し、これを使用してゲーマーがそのコンテンツに対するライセンスを持っている場合にどのチャンクをインストールすべきかを示します。
3. レイアウト ファイルに Store ID の子を持つ **Recipe** が含まれていることを確認します。このレシピは、同じ Store ID に対応する単一の機能を参照する必要があります。レシピを追加することで、ゲーマーが以前にこのコンテンツを購入していれば、自動的にインストールされることが保証されます。
   > \[!NOTE]
   > durable とは関係のない他の機能やレシピが存在することもあります。

この推奨に従うことで、ゲームは次のことができます。

1. [XPackageEnumerateFeatures](/reference/system/xpackage/functions/xpackageenumeratefeatures) を呼び出して機能を列挙します。
2. [XPackageFeature](/reference/system/xpackage/structs/xpackagefeature) 内の返された Store ID を使用して、ライセンスを確認したり、詳細を照会したり、ストア購入フローを呼び出します。

40 GB を超えるすべてのゲームは、[Intelligent Delivery](/build/core-features/common/packaging/overviews/intelligentdelivery) の使用を強く検討する必要があります。ゲームは、GaaS をサポートするために durable を使用することを検討できます。

## ダウンロード可能コンテンツ

ベース パッケージを継続的に進化させる代わりに、一部の GaaS タイトルは、[ダウンロード可能コンテンツ (DLC)](/build/core-features/common/packaging/packaging-downloadable-content-dlc) を使用して長年にわたって進化することを選択する場合があります。ゲームはアセットや実行可能コードをその DLC に配置することを選択できます。実行可能コードには、DLL と EXE の 2 つの可能な経路があります。

ゲームが DLC に DLL を配置する場合、次のことができます。

1. [XPackageMountWithUiAsync](/reference/system/xpackage/functions/xpackagemountwithuiasync) を使用してその DLC をマウントします。
2. [LoadLibraryEx](https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa) を使用します。
3. 以前にマウントされたすべての DLC はマウントされたままになります。

ゲームが DLC に EXE を配置する場合、次のことができます。

1. [XPackageMountWithUiAsync](/reference/system/xpackage/functions/xpackagemountwithuiasync) を使用してその DLC をマウントします。
2. マウントされた DLC からのパスを使用して [XLaunchNewGames](/reference/system/xgame/functions/xlaunchnewgame) を呼び出します。
3. 既存のゲーム プロセスは終了されます。
4. **XLaunchNewGames** のターゲットを除くすべての DLC はアンマウントされます。
5. **G:** ドライブは、新しく起動された EXE ではなく、引き続きベース パッケージのルートを指します。

DLC に実行可能コードを配置するゲームは、[LoadLibraryEx](https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa) を使用してその実行可能コードにアクセスすることを推奨します。

## リファレンス API ドキュメント

* [XPackage (API の内容)](/reference/system/xpackage/xpackage_members)
  * 関数
    * [XPackageEnumerateFeatures](/reference/system/xpackage/functions/xpackageenumeratefeatures)
    * [XPackageMountWithUiAsync](/reference/system/xpackage/functions/xpackagemountwithuiasync)
  * 構造体
    * [XPackageFeature](/reference/system/xpackage/structs/xpackagefeature)
* [xgame (API の内容)](/reference/system/xgame/xgame_members)
  * 関数
    * [XLaunchNewGames](/reference/system/xgame/functions/xlaunchnewgame)

## 関連項目

[ダウンロード可能コンテンツ (DLC)](/build/core-features/common/packaging/packaging-downloadable-content-dlc)
[機能とレシピ](/build/core-features/common/packaging/intelligentdelivery-features-recipes)
[Intelligent Delivery](/build/core-features/common/packaging/overviews/intelligentdelivery)
[XPackageMountWithUiAsync](/reference/system/xpackage/functions/xpackagemountwithuiasync)


## Related topics

- [XPackageEnumerateFeatures](/ja-jp/reference/system/xpackage/functions/xpackageenumeratefeatures.md)
- [XPackageMountWithUiAsync](/ja-jp/reference/system/xpackage/functions/xpackagemountwithuiasync.md)
- [XPackageFeature](/ja-jp/reference/system/xpackage/structs/xpackagefeature.md)
- [Visual Studio 2019 GDK サポート ノート](/ja-jp/tools/tools-console/visualstudio/vs-2019-support-notes.md)
- [Visual Studio 2026 GDK サポート ノート](/ja-jp/tools/tools-console/visualstudio/vs-2026-support-notes.md)
