エンタイトルメント
エンタイトルメントがプレイヤーの購入活動と一致しない場合、次の状況を確認してください。- PC の開発サンドボックスでテストしている場合、XBOX テスト アカウントは Microsoft Store にサインインする前に XBOX App にサインインする必要があります。テスト アカウントが最初に Microsoft Store にサインインすると、Microsoft Store は既定で RETAIL 環境を使用します。
- 予約購入のエンタイトルメントはリリース日まで非アクティブで、クライアント ベースのエンタイトルメント クエリでは返されません。
- テスト アカウントが単一のサンドボックス内での購入に制限されていることを確認してください。アカウントに複数のサンドボックス内のエンタイトルメントがある場合、collections サービスは無効な結果を返す可能性があります。
- コンソールの開発サンドボックスでテストしている場合、Microsoft Store の製品詳細ページで [入手] ボタンを選択したとき、またはゲームが XStoreShowPurchaseUIAsync を呼び出したときに、無料製品に対するエンタイトルメントが即座に付与されます。購入が中止された場合でもエンタイトルメントは付与されます。自動エンタイトルメント付与を回避するには、サンドボックスにゼロ以外の価格でアドオン コンテンツを公開してください。
ライセンス供与
プレイヤーが所有していないコンテンツに対してライセンスが取得される場合は、デバイス上でライセンス共有またはキャッシュが発生していないことを確認してください。- ライセンス共有とキャッシュにより、テスト マシンがクリーンでない状態になることがあります。
- デバイスからアカウントを削除しても、その「オフライン」指定は削除されません。オフライン対応のライセンスは、指定が変更されるかライセンスが期限切れになるまで、他のアカウントと引き続き共有されます。
- PC に新しいアカウントを追加すると、そのアカウントに対して「オフライン権限」設定が自動的に有効化される場合があり、予期しないライセンス共有が発生する可能性があります。
- クリーンな PC 環境を確保するには、常に新しい仮想マシンでテストしてください。
- コンソールをクリーンな状態に戻すには、次の手順を試してください。
- デバイスからテスト アカウントを削除する前に、各テスト アカウントに対して [ホーム XBOX] ([設定] > [全般] > [個人用設定] > [マイ ホーム XBOX]) を無効にします。
- 古いアカウントのデバイス指定を削除するために [ホーム XBOX をリセット] ([設定] > [開発者] > [開発者設定]) を複数回 (15 回以上) 実行し、その後コンソールを再起動します。
- ライセンスが引き続き共有される場合、工場出荷時リセットが必要になる場合があります。
DLC (パッケージを含む耐久型) がインストールされているのに XPackageRegisterPackageInstalled で割り当てたコールバックが実行されない
DLC のインストール状態が明らかでない場合は、まず xbapp listdlc または wdapp listdlc を確認し、期待される DLC が一覧に表示されているかを確認してください。
次に、DLC の microsoftgame.config の AllowedProduct が、ベース ゲームの microsoftgame.config の StoreId ノードと一致することを確認してください。
この DLC が Smart Delivery 製品で、XBOX Series X/S ベース ゲームが ERA DLC パッケージを使用しており、ERA DLC の appxmanifest の AllowedProduct が XBOX Series X/S ベース ゲームに割り当てられている製品 ID (xbapp list /d) と同じでない場合、製品 ID をオーバーライドする必要がある場合があります。このオーバーライドは、パッケージ化されたビルドでのみ可能です。
PC の XStoreShowPurchaseUIAsync が短時間購入ダイアログを表示してから E_ABORT を返す
この問題は次の場合に発生する可能性があります。
- XStoreShowPurchaseUIAsync が昇格された (管理者) プロセスから呼び出されている。
- Visual Studio を管理者権限でデバッグしている、または [管理者として実行] に設定されているプロセスから呼び出している。解決策は、管理者として実行中にこの API を呼び出さないことです。
- UAC (ユーザー アクセス制御) が対話型ユーザーのデスクトップに確認プロンプトを表示しないように設定されている。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop
EnableLUA は 1 である必要があります。場合によっては、PromptOnSecureDesktop を 0 に切り替えることも有効です。
このページには、これと他の関連するコントロールに関する詳細情報があります。
