XR-045: Xbox ネットワークとアカウント特権 *

バージョン 2.0 - 2023/3/1

Xbox ネットワークは、ユーザーおよびその子供に期待されるレベルのプライバシーとオンラインの安全性をユーザーに提供する。 これを実現するため、タイトルは、Xbox ネットワーク サービス内またはタイトル内の体験に関して特定の操作を完了するための権限を、Xbox ネットワーク サービスで確認しなければならない。

特権の確認と遵守はすべてのアカウントに適用されますが、特にお子様のアカウントのエクスペリエンスと期待に注意することが重要です。 お子様のアカウントの場合、年齢に応じた初期設定や、お子様の家族管理者 (保護者の方) による構成により、特定のアクティビティの制限がブロックされる場合があります。 お子様は自分で構成を変更することはできませんが、特定のアクティビティでは、タイトルが必要なシステム UI を呼び出し、その関連アクティビティの承認フローを介して、幼いプレイヤーが例外を要求できるようにすることが期待されています。 このような状況では、たとえば幼いプレイヤーはグローバルにマルチプレイをブロックされる可能性がありますが、家族の保護者がシステム UI を介して特定のタイトルのマルチプレイを承認することで、お子様はその特定のタイトルのこのゲームモードにアクセスできるようになりますし、そうする必要があります。

操作 ID 権限名 注意
マルチプレイヤー ゲーム セッションでのプレイ 254 XPRIVILEGE_MULTIPLAYER_SESSIONS 次のようなシナリオでユーザーが (ボットでない)実際のユーザーとのマルチプレイヤー ゲームプレイ セッションにオンラインで参加することを許可します。同じセッションに同時参加するプレイヤー対プレイヤーのゲームプレイ、非同期のターン (順番) 制のゲームプレイ、チーム ベースのゲームプレイ、ユーザーが開始したマッチメイキング、招待の送信または承諾、途中参加セッション。 この特権は、同じデバイスで実行されるローカル マルチプレイヤー ゲームには関係しないことに注意してください。
クロス ネットワーク ゲーム プレイ セッションでプレイする 185 AuthPrivileges.CrossNetworkPlay 同じセッションに同時参加するプレイヤー対プレイヤーのゲームプレイ、非同期のターン制のゲームプレイ、チーム ベースのゲームプレイ、ユーザーが開始したマッチメイキング、招待の送信または承諾、途中参加セッションなどのシナリオで、ユーザーが Xbox ネットワークにサインインしていない他の実際のプレイヤーとのゲームプレイ セッションに参加することを許可します。
あらゆるユーザーとのコミュニケーション 252 XPRIVILEGE_COMMUNICATIONS ユーザーが他の Xbox Live ユーザーと音声またはテキストで通信することを許可します。
共有ゲーミング セッション 189 XPRIVILEGE_SESSIONS ユーザーは、共有環境での接続された 1 人プレイ モードや、無料プレイと有料プレイでのマルチプレイヤーのハイブリッド タイトルのシナリオに参加することができ、この権限を使って、これらのエクスペリエンスを Xbox 本体でゲートすることができます。 1 人プレイ環境には、権限 252 または 254 でカバーされる機能 (それぞれ、コミュニケーションとマルチプレイヤー) が含まれてはなりません。 この権限の使用は、プラットフォームの承認が必要なタイトルの機能です。
ユーザー作成コンテンツ (UGC) 247 XPRIVILEGE_USER_CREATED_CONTENT ユーザーが他のユーザーの UGC をオンラインで表示すること、他のユーザーの UGC をダウンロードすること、自分の UGC をオンラインで共有することを許可します。 これは、以前にダウンロードした UGC の使用方法を制限しません。
ソーシャル ネットワークとの共有 220 XPRIVILEGE_SOCIAL_NETWORK_SHARING Xbox 本体のみ: ユーザーが Xbox Live の外部で、ゲームの進行状況、Kinect で生成されたコンテンツ、ゲーム クリップなどの情報を共有することを許可します。

プレイ無料のタイトル、デモ、またはベータ版は、Game Pass サブスクライバーではないプレイヤーのマルチプレイヤー ゲームプレイ (ID 254) を許可するように構成できます。 これはサービス側の構成によって行われるため、開始するには Microsoft の担当者にお問い合わせください。 これらのタイトルは、保護者による制限とプレイヤーの選択を尊重するために、引き続きマルチプレイヤー ゲームの特権を確認する必要があります。

その他の情報

注意

技術的なガイダンスとベスト プラクティスの詳細については、「Xbox サービスユーザー特権のクライアント側の使用」のドキュメントを参照してください。

Xbox ネットワークが発行したトークンをサービスが処理する場合、セッションのユーザーに対する "prv" 要求をトークン内で検査することによって、要求されたアクションを実行するにはセッションのユーザーに適切な権限が必要であることをサービスで義務付ける必要があります。

タイトルが、上の表にある操作を行う場合、タイトルは、その特定の操作に関連付けられた権限を確認する必要があります。 ユーザーに権限がない場合は、そのユーザーへ関連する操作を許可してはなりません。 権限は、セッション/操作の持続時間と、Xbox ネットワーク トークンが更新されるまでの時間の、どちらか短い期間にわたって付与されます。

開発プラットフォーム (GDK、XDK、XSAPI) に応じて、ゲーム タイトルは適切な API を呼び出し、(1) システム タイトルが呼び出せる UI (TCUI) が呼び出され、ブロックされた特権をユーザーに通知するとともに、お子様のアカウントの場合は保護者の方が特定の特権の許可を要求できるようにするか、(2) 規範的で対応可能なエラー メッセージを提供することが期待されます。

PC または Xbox コンソールで GDK を使用する場合: ユーザーに権限があるかを GDK を使用して確認するには、タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります。 使用パターンとコンテキスト処理に関する特定の情報は、GDK ドキュメントのトピック「Xbox サービスのユーザー権限の概要」で入手できます。

Xbox One XDK の使用: Xbox One 上でユーザーに権限があるかどうかを確認するには、タイトルは Store::Product::CheckPrivilegeAsync API を使用します。 権限チェックが、マルチプレイヤー ゲーム モードへの参加など、ユーザー操作の結果である場合、attemptResolution パラメーターを true に設定する (またはまったく設定しない) 必要があります。 プラットフォームによって権限がチェックされ、ユーザーに権限がない場合はその原因の特定が試みられます。

API によって false が返される場合、ユーザーに権限がなく、システムは正常に問題を解決していません。 そのような場合、タイトルで、権限に関連する行動をブロックする必要がありますが、その行動のための適切な権限がないこと、またはユーザーの権限に関する問題があることをシステムがユーザーに適切に通知済みであると見なすことができます。

権限のチェックがユーザーの操作の結果として行われるのではなく、たとえば、サイレント バックグラウンド呼び出しの一環として、または UX を変更するために行われる場合は、attemptResolution を false に設定して API を呼び出す必要があります。 その結果、ユーザーにはメッセージが通知されず、システムは権限の問題を修正するための介入を行いません。

XSAPI を UWP、Win32、モバイル、またはその他のプラットフォームで直接使用する場合: "prv" クレームにない場合にはユーザーに権限がなく、権限に関連する行動をユーザーがタイトルで続行できないようにする必要があります。 マルチプレイヤー セッションの開始やセッションへの参加を試みるなど、権限に関連する行動へのアクセスをユーザーが要求したことによってチェックが発生した場合、タイトルは情報メッセージを表示し、参加できないことをユーザーに知らせる必要があります。 推奨されるメッセージングは次のとおりです。

実装要件

操作 ID 権限名 処理方法
マルチプレイヤー ゲーム セッションでのプレイ 254 XPRIVILEGE_MULTIPLAYER_SESSIONS * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: 推奨メッセージ「申し訳ありませんが、現在、オンライン マルチプレイヤー ゲームをプレイできません。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。
クロス ネットワーク ゲーム プレイ セッションでプレイする 185 AuthPrivileges.CrossNetworkPlay * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: メッセージの候補「申し訳ありませんが、現在、Xbox ネットワーク以外のプラットフォームで他のユーザーとプレイすることはできません。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。
あらゆるユーザーとのコミュニケーション 252 XPRIVILEGE_COMMUNICATIONS * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: メッセージの候補「申し訳ありませんが、現在、Xbox ネットワークで他のユーザーと会話することはできません。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。
共有ゲーミング セッション 189 XPRIVILEGE_SESSIONS * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: 推奨メッセージ「申し訳ありませんが、現在、オンライン マルチプレイヤー ゲームをプレイできません。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。
ユーザー作成コンテンツ (UGC) 247 XPRIVILEGE_USER_CREATED_CONTENT * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: メッセージの候補「申し訳ありませんが、現在、他のユーザーが作成したコンテンツを表示できません。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。
ソーシャル ネットワークとの共有 220 XPRIVILEGE_SOCIAL_NETWORK_SHARING * GDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは XUserCheckPrivilege および XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。
* XDK: タイトルはシステム UI を呼び出して、権限の競合をユーザーに警告します (タイトルは store::Product::CheckPrivilegeAsync API を使用する必要があります)。
* XSAPI: メッセージの候補「申し訳ありませんが、現在、ソーシャル ネットワークでの共有が禁止されています。」
* アカウントが親または保護者によって管理されている場合、保護者は [設定] > [アカウント] > [家族の設定] > [家族のメンバーを管理] で、あなたのプロフィールの Xbox プライバシー設定をカスタマイズできます。

Xbox ネットワークの接続の問題: Xbox Live サービスに到達できないというエラーを (API から、または Xbox Live トークンを取得できないために) タイトルが受け取った場合、タイトルは要求された操作へのアクセスをブロックしなければなりません。 このような状況では、XR-074 "Xbox およびパートナー サービスの接続の喪失" に記載されているように、タイトルは適切に失敗の原因を示さなければなりません。

ベスト プラクティス

その他のリソース

権限とユーザー トークンの詳細については、Microsoft Game Development Kit (GDK) ドキュメントまたは Xbox Application Development Kit ドキュメントの「ユーザー トークン」を参照してください。

この XR を適用する上で、ソーシャル ネットワークとは、Xbox ネットワークの外部にあり、個人が既定で他のユーザーとコンテンツを共有できるサイトまたはサービスのことです。 外部サイトの既定のオプションでフレンドまたはすべてのユーザーとの共有が有効である場合、この XR を適用する上で、ユーザーが外部サイトにおいてアップロードの時点で共有の制限を選択できることは必須ではありません。

例外

有料のトランザクション ビデオは、ビデオ コンテンツの権限設定に関係なく、すべての Xbox ユーザーに提供されます。 アプリが有料コンテンツおよび有料トランザクション ビデオの両方を提供する場合、有料コンテンツはこの要件に従う必要があります。

アプリが Xbox プラットフォームで提供されている国/地域でそのアプリが公共サービスのブロードキャストを行っている場合は、ユーザーのビデオ コンテンツの権限設定に関係なく、商業目的でないすべてのコンテンツ オファリングをその国/地域の Xbox ユーザー全員に公開する必要があります。

Xbox One 本体とそれ以外のデバイス間で非同期マルチプレイヤーを提供しているタイトルでは、Xbox One 本体以外のデバイス上での体験に関してマルチプレイヤー権限を確認する必要はありません。

サーティフィケーション テスト ケース

045-01 ユーザー権限の尊重

テスト手順

  1. Xbox プロフィールにサインインして、タイトルを起動します。
  2. XR の「備考」で示した権限ごとに、タイトルがその権限に関連付けられている操作に対応しているかどうかを確認します。
  3. 手順 [2] で示した該当する各権限の指定可能な設定ごとに、以下の操作を実行します。
  • タイトルを終了し、その権限に関するユーザーの設定を変更します。
  • 本体を再起動します。
  • 同じプロフィールにサインインして、タイトルを起動します。
  • タイトルのすべての関連エリアにアクセスし、その権限に関連するすべてのタイトル機能を使用して、タイトルがユーザーの現在の権限設定を反映していることを確認します。
  • Silver Xbox プロファイルを使用して、すべてのオフライン エリアとオンライン エリアにアクセスしてみます。

想定される結果
タイトルは、ユーザーの権限に関する設定を正しく反映しなければなりません。

成功例

  1. タイトルは、ユーザーの権限に関する設定を反映しています。
  2. 部分的に許可される権限設定は、その権限が無効になっている/許可されていないものとして扱われます (たとえば、ユーザー作成コンテンツ (UGC) の権限が「フレンドのみ」に設定されている場合、タイトルはその権限が「制限」に設定されているものとして動作します)。
  3. XDK を使用してるタイトルでは、システム UI を呼び出して権限の競合をユーザーに警告します (タイトルでは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、情報メッセージを表示して、参加できないことをユーザーに知らせます。
  4. GDK を使用してるタイトルでは、システム UI を呼び出して権限の競合をユーザーに警告します (タイトルでは XUserCheckPrivilege と XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、情報メッセージを表示して、参加できないことをユーザーに知らせます。
  5. XSAPI を使用するタイトルでは、情報メッセージを表示して、参加できないことをユーザーに知らせます。

失敗例

  1. ユーザーの権限に関する設定が永続化されていて、権限を変更した後にそれがユーザーの実際の権限に反映されません。
  2. 部分的に許可される権限設定は、その権限が最も制約の少ない設定になっているものとして扱われます (たとえば、ユーザー作成コンテンツ (UGC) の権限が「フレンドのみ」に設定されている場合、タイトルはその権限が「許可」に設定されているものとして動作します)。
  3. XDK または GDK を使用するタイトルで、ゲーム内メッセージングを使用して権限の競合をユーザーに警告し、システム UI を表示しません。
  4. XSAPI を使用するタイトルで、参加できないことをユーザーに知らせる情報メッセージを表示しません。

045-02 ユーザー権限の尊重 - Xbox Family

テストのセットアップと構成
以下の Microsoft アカウントを含む Xbox ファミリ

  • オーガナイザーとして指定されている大人 (19 歳以上)。
  • 次の子供向けの権限設定を持つ子供 (13 歳未満)。
操作 12 歳以下向け初期設定特権の設定
オンライン マルチプレイヤー ゲームへ参加できます Block
クロスネットワーク プレイに参加できます Block
音声、テキスト、または招待状で通信できます Friends
Xbox ネットワーク以外で音声やテキストによるコミュニケーションを取ることができます。 Block
コミュニティの作品を確認してアップロードできます Block
Xbox 以外で共有できます Block

参照とリンク:

テスト手順

  1. 大人用とお子様用の Microsoft アカウントにサインインし、お子様のアカウントでタイトルを起動します。
  2. XR の「備考」で示した権限ごとに、タイトルがその権限に関連付けられている操作に対応しているかどうかを確認します。
  3. 手順 [2] で示した該当する各権限の指定可能な設定ごとに、以下の操作を実行します。
  • 関連するアクティビティが、アカウント権限に基づいて許可されているか許可されていないかを確認します。 : マルチプレイヤーをサポートしているタイトルで、お子様のアカウントでマルチプレイヤー権限がブロックされている場合。 タイトルでお子様のすべてのマルチプレイヤー アクティビティがブロックされ、お子様がマルチプレイヤー アクティビティに参加しようとしたときに保護者の許可プロンプト (システム TCUI) が表示されることを確認します。
  • タイトルを終了し、タイトルでサポートされている特権アクティビティのユーザーのお子様の特権設定をブロックから許可に変更します。 : マルチプレイヤーやユーザー作成コンテンツをブロックから許可に変更する。
  • 本体を再起動します。
  • 同じプロフィールにサインインして、タイトルを起動します。
  • タイトルのすべての関連エリアにアクセスし、その権限に関連するすべてのタイトル機能を使用して、タイトルがユーザーの現在の権限設定を反映していることを確認します。 : タイトルがマルチプレイヤーをサポートしています。 お子様はブロックされていましたが、今はマルチプレイヤーが許可されています。 タイトルで、お子様がマルチプレイヤー ゲーム モードにアクセスすることが適切に許可されています。
  1. コンソールにログインしていない保護者のアカウントで手順 [2] から [3] を繰り返します。

想定される結果
タイトルは、すべての Xbox ファミリー メンバーの権限設定を尊重する必要があります。

成功例

  1. タイトルは、お子様の権限に関する設定を尊重しています。
  2. タイトルは、そのアクティビティに対する特権が許可されている場合に、お子様がアクティビティに参加することを許可します。
  3. タイトルは、そのアクティビティに対する特権がブロックされている場合に、お子様がアクティビティに参加することを許可しません。
  4. タイトルは、ブロックされているアクティビティにお子様が参加することを許可しますが、そのアクティビティのアクセス許可は保護者によって (保護者の許可 UI 経由で) 許可されています。
  5. タイトルは、ブロックされているアクティビティにお子様が参加することを許可せず、そのアクティビティのアクセス許可は保護者によって (保護者の許可 UI 経由で) 許可されていません。
  6. 部分的に許可される権限設定は、その権限が無効になっている/許可されていないものとして扱われます (たとえば、ユーザー作成コンテンツ (UGC) の権限が「フレンドのみ」に設定されている場合、タイトルはその権限が「制限」に設定されているものとして動作します)。
  7. XDK を使用してるタイトルでは、システム UI を呼び出して権限の競合をユーザーに警告します (タイトルでは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、情報メッセージを表示して、参加できないことをユーザーに知らせます。
  8. GDK を使用してるタイトルでは、システム UI を呼び出して権限の競合をユーザーに警告します (タイトルでは XUserCheckPrivilege と XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、情報メッセージを表示して、参加できないことをユーザーに知らせます。
  9. XSAPI を使用するタイトルでは、情報メッセージを表示して、参加できないことをユーザーに知らせます。

失敗例

  1. タイトルは、お子様の権限に関する設定を尊重していません。
  • 例: このタイトルはマルチプレイヤーをサポートしており、マルチプレイヤーをブロックされたお子様がマルチプレイヤー ゲーム モードにアクセスすることを許可します。
  1. タイトルは、お子様に特権の競合に関する警告や通知のための適切な UI を呼び出しません。
  • 例: タイトルはマルチプレイヤーをサポートしているが、特権がブロックされている場合に、お子様が保護者の許可を求めるプロンプトが表示されません。
  1. タイトルは、そのアクティビティに対する特権がブロックされている場合に、お子様がアクティビティに参加することを許可します。
  2. タイトルは、そのアクティビティに対する特権が許可されている場合に、お子様がアクティビティに参加することを許可しません。
  3. タイトルは、ブロックされているアクティビティにお子様が参加することを許可し、そのアクティビティのアクセス許可は保護者によって (保護者の許可 UI 経由で) 許可されていません。
  4. タイトルは、ブロックされているアクティビティにお子様が参加することを許可せず、そのアクティビティのアクセス許可は保護者によって (保護者の許可 UI 経由で) 許可されています。
  5. ユーザーの権限に関する設定が永続化されていて、権限を変更した後にそれがユーザーの実際の権限に反映されません。
  • 例: タイトルがマルチプレイヤーをサポートしています。 お子様のアカウントはマルチプレイヤーがブロックされていますが、システム UI を通じて保護者から許可されています。 権限が付与されているにもかかわらず、タイトルがマルチプレイヤーをブロックし続けています。
  1. タイトルは、権限が最も制限の緩い設定に指定されているかのように、部分的に許可される権限設定を処理します。 : ユーザー作成コンテンツ (UGC) 権限が [フレンドのみ] に設定されている場合、タイトルは権限が [許可] に設定されているかのように動作します。
  2. XDK を使用してるタイトルでは、権限の競合をユーザーに警告するためにシステム UI を呼び出すことはありません (タイトルでは Store::Product::CheckPrivilegeAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、参加できないことをユーザーに知らせる情報メッセージを表示しません。
  3. GDK を使用してるタイトルでは、権限の競合をユーザーに警告すためにシステム UI を呼び出すことはありません (タイトルでは XUserCheckPrivilege と XUserResolvePrivilegeWithUiAsync API を使用する必要があります)。 システム UI を呼び出せない場合 (特権 252、189、247) は、参加できないことをユーザーに知らせる情報メッセージを表示しません。
  4. XSAPI を使用するタイトルで、参加できないことをユーザーに知らせる情報メッセージを表示しません。

変更履歴

日付 ドキュメント バージョン 変更の説明
2023 年 3 月 1 日 2.0 Xbox ファミリー メンバーのアカウント権限の要件と検証を含めるように更新されました。

Xbox ファミリー メンバーの特権設定を検証するために、テスト ケース 045-02 が追加されました。