サンドボックスの設定

概要

ここでは、サンドボックスの設定と、Xbox サービスを利用するためのアプリケーションの構成で必要な ID の取得方法について説明します。

サンドボックスとは開発キット単位でコンテンツを分離するためのしくみであり、開発とテストのためのクリーンな環境を提供します。

Xbox サービスは、イベント、実績、マルチプレイヤー機能のオンライン機能を提供します。

サンドボックスと Xbox サービスを有効にするには、開発キットとタイトルを構成するためのいくつかの ID を取得する必要があります。

これらは同じプロセスで行うことができます。

このプロセスは次のようになります。

  1. ID を取得する。
  2. 開発キットにサンドボックスを設定する。
  3. TitleID をタイトルにバインドする (必要に応じて他の ID と一緒に)。

重要な ID

Xbox One (以降) のタイトルとアプリケーションの開発に重要な ID は、サンドボックス ID、タイトル ID、およびサービス構成 ID (SCID) の 3 つです。

サンドボックス ID は開発キットを使用するために必要です。タイトル ID と SCID は初期開発には必要ありませんが、Xbox サービスを利用する場合に必要となります。 したがって、3 つの ID すべてを同時に取得することをお勧めします。

サンドボックス ID

サンドボックスは、開発中に開発キットのコンテンツを分離し、クリーンな環境でタイトルを開発およびテストできるようにします。 サンドボックス ID はサンドボックスを識別します。 本体は、一度に 1 つのサンドボックスにのみアクセスできます。ただし、1 つのサンドボックスには複数の本体からアクセスできます。

サンド ボックス ID は大文字と小文字を区別します。

TitleID

TitleID は Xbox サービスに対してタイトルを一意に識別するためのものです。 TitleID は、タイトルの Xbox コンテンツ、ユーザー統計情報、実績などにユーザーがアクセスするために、また、Xbox のマルチプレイヤー機能を有効にするためにサービス全体を通して使用されます。

タイトル ID は、使用される方法および場所によって、大文字と小文字が区別されることがあります。

サービス コンフィグ ID (SCID)

開発の過程では、イベント、実績、他のオンライン機能のホストを作成します。 これらはすべてサービス コンフィグの一部であり、アクセスするには SCID が必要です。

以前のバージョンの Xbox OS とは異なり、Microsoft GDK Game OS 用に開発したタイトルには 1 つの SCID しかないため、特定のサンドボックス内でタイトルのすべてのインスタンスが同じ構成を共有します。

Microsoft GDK Game OS の SCID は、必ず TitleID と同じ値の GUID で前にゼロが付加されます。 Microsoft Game Development Kit (GDK) タイトルからの Xbox に対するほとんどの操作で SCID を明示的に指定する必要がなくなりました。ただし、Xbox サービスの REST エンドポイントと直接やりとりする場合には必要になることがあります。

SCID は大文字と小文字を区別します。

ID を取得する

当面の間は、担当のデベロッパー アカウント マネージャーに問い合わせて ID を取得します。

サンドボックスの設定

サンドボックス ID を設定せずに開発キットを起動することはできません。 このためには、GDK コマンド ウィンドウを開き、次のように Configuration (xbconfig.exe) (NDA トピック)認可が必須です コマンドを使用します。

  1. 現在のサンドボックスをチェックします。 コマンド プロンプトで「xbconfig sandboxid」と入力します。
  2. 予想と異なる場合は、サンドボックス ID を変更してください。 コマンド プロンプトで「xbconfig sandboxid=<your sandbox id>」と入力します。
  3. コマンド プロンプトで、Reboot (xbreboot.exe) (NDA トピック)認可が必須です を使用して本体を再起動します。
  4. サンドボックスが正しくリセットされたことを確認します。 コマンド プロンプトで「xbconfig sandboxid」と入力します。

TitleID と省略可能な他の ID をバイナリに追加する

サンドボックスは開発キットごとにプラットフォーム レベルで構成されますが、TitleID は特定のバイナリにバインドされます。 TitleID をバイナリに追加するには、次のように <Game> ノードに新しいノードを追加して、そのバイナリの MicrosoftGame.config ファイルを修正します。

<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    ...
    <TitleId>yourTitleId</TitleId>
    <StoreId>yourStoreId</StoreId>
    <MSAAppId>yourMSAAppId</MSAAppId>
    ...
</Game>  

注意

2022 年 3 月の Microsoft Game Development Kit (GDK) の時点で、どちらかが MicrosoftGame.config で指定されている場合は、MSAAppId と TitleId が必要です。詳細については、「 MicrosoftGame.config 要素 - MSAAppId」 および 「MicrosoftGame.config 要素 - TitleId」を参照してください

RequiresXboxLive フラグ

RequiresXboxLive フラグが true に設定されている場合、Xbox ネットワーク (Xbox Live とも呼ばれます) へのアクティブな接続がない限りタイトルは起動せず、また、タイトルは Xbox サービスでの認証をクリアします。 これにより、タイトルで最新のコンテンツ アップデート (CU) が取得されるようになります。 タイトルの実行中に接続が失われると、タイトルは一時停止され、その後終了します。

「インターネットが必要」なタイトルのみが RequiresXboxLive を true としてマークする必要があります。 この方法でタイトルをマークしても、タイトルに必要なサービスが起動して稼働中であることが保証されません。 RequiresXboxLive も同様に MicrosoftGame.config ファイル内の Game のノードです。