ライセンス テストの有効化

この記事では、ライセンス関連のシナリオをテストするために、開発ビルドをライセンス可能に設定する方法について説明します。

関連するシナリオと API

次の API では、適切にテストするために、このページで説明されている設定が必要です。

API 使用方法
XStoreQueryGameLicenseAsync 試用版の特性、またはゲームがディスクでライセンス付与されていることをクエリする
XStoreQueryLicenseTokenAsync サービス ベースの検証用の有効なライセンス トークンの生成については、「ライセンス トークンの使用」を参照してください
XStoreQueryAddOnLicensesAsync デジタル ゲーム ライセンスにアタッチされているアドオン ライセンスの返却 (パッケージなしの非消費型アイテムなど)
XStoreRegisterGameLicenseChanged ライセンスの変更の検出を登録 (試用版からフル ライセンへなど)

Context

小売シナリオでは、ゲームにプレイするライセンスが必要です。 これは、ディスクまたは Microsoft サービスへのライセンス要求の成功によって満たされるライセンス要求によって実現されます。 直接購入または満足のいく購入 (サブスクリプションやバンドルなど) を通じて、アカウントが製品に対する権利を持っている場合、ライセンスが付与されます。 ライセンスは共有シナリオでも付与できます。詳細については、「 ゲームの製品共有モデル」を参照してください。

開発シナリオは、既定ではこの動作に従いません。

  • ルーズ ビルド (Visual Studio F5 のデプロイ、xbapp/wdapp の登録/デプロイ)
  • ローカル パッケージ ビルド (makepkg、xbapp/wdapp のインストール)

これらのビルドは、ライセンスチェックや関連する構成なしで起動します。 ほとんどの XStore API は、ライセンスに関連するものを除き、引き続き機能します。

ライセンス可能として動作するようにビルドを構成するには、正しい ID 値を MicrosoftGameConfig に適用する必要があります ( 「XStore の開発とテストの有効化」で説明されています)。

その後、次の手順を実行する必要があります。

  1. ゲームまたは DLC に固有のコンテンツ ID をメモする
  2. ビルドの種類に応じて、コンテンツ ID をビルドに適用する
  3. 本体のみ: EKBID をメモしてビルドに適用する

その後、ビルドを実行するアカウントごとに、プラットフォームの適切なストアから製品を購入して権利を取得する必要があります。

ContentID を取得する

これは [パッケージ] ページ内の [詳細を表示しています] の後にあります。

パートナー センターの [パッケージ] ページ

注意

サンドボックスとリテールの間でコンテンツ ID が異なる場合があります。ゲームのリテール バージョンがインストールされていて、サンドボックスで作業する場合は注意してください。 リージョン パッケージが含まれている場合、コンテンツ ID も異なります。

本体

これは、ゲーム コマンド プロンプトで xbapp list /d (DLC の場合は xbapp listdlc /d) を実行して Store からインストールされたパッケージにもあります。

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

これは、Xbox App または Microsoft Store からパッケージがインストールされた後、レジストリの場所で確認できます: Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Store\ContentId

コンテンツ ID を適用してビルドする

ルース ビルドの場合は、MicrosoftGameConfig で次のセクションを追加します。

  <DevelopmentOnly>
    <ContentIdOverride>2797FA46-A93B-494C-AD80-B67C9FCA939F</ContentIdOverride>
    <EKBIDOverride>00000000-0000-0000-0000-000000000001</EKBIDOverride>
  </DevelopmentOnly>

パッケージ ビルドの場合は、コンテンツ ID を makepkg に渡します (例:

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

/contentid を使用せずに作成されたパッケージ ビルドは、ローカル ソースからインストールされたときに MicrosoftGameConfig で使用可能な ContentIdOverride を適用します。

ストア (サンドボックスまたはリテール) からインストールされたビルドには、常に適切なコンテンツ ID (パートナー センターに表示) が適用されます。

ビルドに EKBID を適用する (コンソールにのみ適用)

EKBID (エスクロー キー BLOB ID) は、ビルドをライセンス可能にするためにコンソールにのみ設定する必要があります。 ほとんどのシナリオでは、すべてのゼロまたは 33EC8436-5A0E-4F0D-B1CE-3F29C3955039 の既定のテスト値からオーバーライドする必要があります。

これを行うには、次のコマンドを実行します。

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

例:

xbapp setekbid 41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0 {00000000-0000-0000-0000-000000000001}

これは PC には関係ありません (つまり、いいえ wdapp setekbid)。

試用版と EKBID

試用版の場合は、実際の EKBID を適用する必要があります。 これは、ストアからインストールされたビルドについて、上記の出力 xbapp list /d から確認できます。 詳細については、「ゲームの試用版の実装」を参照してください。

テスト アカウントに、サンドボックス内のゲームに対する権利が付与されていることを確認する

これを行う最も簡単な方法は、サンドボックスにのみ公開された製品は検索できない可能性があるため、プロトコルのアクティブ化を通じてゲームのストア ページに直接移動することです。 開発機本体または PC は、ゲームが公開されているサンドボックスに設定する必要があります。 詳細については、「 Xbox サービスサンドボックスの概要 」、特に PCにおいては「ストア操作のためにサンドボックスを適切に切り替える」を参照 してください。

サインインしたら、ストア プロトコル リンクを使用して Store ページにアクセスします。

本体の場合:

ゲーム コマンド プロンプトを使用します。

xbapp launch ms-windows-store://pdp/?productid=<storeID>

PC の場合:

[ファイル名を指定して実行] ボックス (⊞Win + R) または Web ブラウザー

msxbox://game/?productId=<storeID> (Xbox アプリでゲームを表示)

または

ms-windows-store://pdp/?productid=<storeID> (Microsoft Store でゲームを表示)

Store ページが表示されたら、[購入] または [取得] を選択して、ご自身のテスト アカウントのゲームのライセンスを取得します。 これでパッケージのダウンロードとインストールが開始されますが、ローカル ビルドの反復処理にのみ関心がある場合は、キャンセルしてかまいません。

注 重要: これは、ビルドを実行し、ライセンス関連の XStore API が機能することを想定しているすべてのアカウントごとに行う必要があります。

DLC

ローカル DLC をライセンス可能にするには、コンテンツ ID を makepkgxbapp setekbid に適用し、既定値以外の値に設定する必要があります。 基本ゲームではなく、ライセンス用に DLC のみを構成する必要があります。

これは、次の API に関連します。

詳細については、こちらを参照してください。

ダウンロード コンテンツ (DLC) の管理とライセンス

パッケージなしの非消費型アイテムを使用する方法

関連項目

コマースの概要

XStore の開発とテストの有効化

ストア操作のためにサンドボックスを適切に切り替える

XStore API リファレンス