Unity のユーザー権限の設定を確認する

Xbox Live では、認証されたすべてのユーザーのアカウントに特権が関連付けられています。 権限によって、任意の時点でユーザーがアクセスできる Xbox Live の機能が制御されます。

システムで制御される機能のための権限もあれば、特定のゲームまたはサブスクリプションの延長と関連付けられる権限もあります。 さらに、Xbox Live の実施チームによって発行された保護者による制限と禁止は、ユーザーの権限を制限することができます。

これらの特権は、マルチプレーヤー、ユーザーによって生成されたコンテンツへのアクセス、チャット、ビデオのストリーミングなど、多くの一般的なシナリオに対応しています。 ゲームでは、この情報を使ってアクセス制御と個人設定の決定を行います。

前提条件

ユーザー権限の設定を確認するには、Xbox Live を使用して認証するためにゲームを構成して、でユーザーを正常に署名する必要があります。

重要

Unity エディターでゲームをテストしている場合、ゲームは Xbox Live サービスに接続されておらず、偽のデータを使って接続をシミュレートしています。 これにより、権限をチェックするときに null 値が返されます。 実際のデータを使ってテストするには、Unity ゲームのユニバーサル Windows プラットフォームビルドを実行し、生成されたプロジェクトファイルを Visual Studio で開きます。

次の記事では、実行できる手順の概要を示します。

権限を決定する

ユーザーの特権は、認証時に受け取ったトークンによって伝達されます。 Unity では、ユーザーが正常にサインインした後に、ユーザーがXboxLiveUserクラス内で持っている特権の一覧にアクセスできます。

特権は1つの文字列として格納され、スペースで区切られます。 たとえば、次の権限を持つユーザーが表示される場合があります。

public XboxLiveUserInfo XboxLiveUser;

//sign in is done and the user has been successfully signed in

Debug.Log(XboxLiveUser.User.Privileges);

//Console would read:
// Privileges: "188 191 192 193 194 195 196 198 199 200 201 203 204 205 206 207 208 211 214 215 216 217 220 224 227 228 235 238 245 247 249 252 254 255"

特定のアクセス許可を検索する場合は、 Privilegesプロパティに関連するコードが含まれているかどうかを確認できます。

public XboxLiveUserInfo XboxLiveUser;

//sign in is done and the user has been successfully signed in

if (XboxLiveUser.User.Privileges.Contains("247"))
{
    Debug.Log("User has the user_created_content privilege");
}

権限コード

ソーシャルマネージャーの権限コード」を参照してください。