权限接口

访问玩家权限,包括在线游戏和跨平台游戏以及语音和文本聊天。

前置主题

为了理解并使用本文中的内容,请确保您已掌握以下主题:

本页面的内容

在线服务权限接口(Online Services Privileges Interface) 管理玩家的在线权限。权限指的是玩家执行以下操作的能力:

  • 在线玩游戏。

  • 参与跨平台游戏。

  • 与其他玩家通信。

  • 使用社区生成的内容。

API 概述

函数

下表概述了权限接口提供的函数:

函数

说明

QueryUserPrivilege

为提供的用户查询给定权限

枚举类

权限接口通过两个枚举类传达用户权限和用户权限状态,而权限状态由 EPrivilegeResults 提供。

EUserPrivileges

用户权限由 EUserPrivileges 枚举类表示:

说明

CanPlay

指定用户是否可以玩游戏,无论在线或离线。

CanPlayOnline

指定用户是否可以通过在线模式玩游戏。

CanCommunicateViaTextOnline

指定用户是否可以使用文本聊天。

CanCommunicateViaVoiceOnline

指定用户是否可以使用语音聊天。

CanUseUserGeneratedContent

指定用户是否可以使用其他用户生成的内容。

CanCrossPlay

指定用户是否可以参与跨平台游戏。

EPrivilegeResults

用户权限状态由一个或多个 EPrivilegeResults 提供:

说明

NoFailures

用户拥有请求的权限。

RequiredPatchAvailable

需要补丁,用户才能使用权限。

RequiredSystemUpdate

需要系统更新,用户才能使用权限。

AgeRestrictionFailure

权限由于家长控制失败而受限制。

AccountTypeFailure

权限需要高级账户。

UserNotFound

用户无效。

UserNotLoggedIn

用户必须登录才能使用权限。

ChatRestriction

用户被禁止聊天。

UGCRestriction

用户被禁止访问用户生成的内容(UGC)。

GenericFailure

平台因未知原因而故障,并处理其自己的对话。

OnlinePlayRestricted

在线游戏被限制。

NetworkConnectionUnavailable

检查失败,因为网络不可用。

用户权限

调用 QueryUserPrivilege ,确定是否允许用户在你的游戏中使用特定在线功能或权限。QueryUserPrivilege 需要你提供用户的本地账户ID和相关权限作为参数。QueryUserPrivilege 返回的结果指示是否允许你指定的用户获得你指定的权限。如果不允许该用户使用查询的权限,结果包含了具体原因。

不允许用户使用权限的原因可能有多种。因此,结果的结构是 EPrivilegeResults 值(表示不允许此用户使用所提供权限的原因)的累积按位或运算。如果允许该用户使用此权限,则查询将返回 EPrivilegeResults::NoFailures ,这表示没有什么阻止用户使用所需的权限。

特定权限可以更改何时暂停游戏。请务必在游戏返回活动状态时重新查询用户权限,因为特定游戏选项可能不再可用。

更多信息

头文件

直接查阅 Privileges.h 头文件,根据需要了解更多信息。权限接口头文件 Privileges.h 位于以下目录中:

    UNREAL_ENGINE_ROOT\Engine\Plugins\Online\OnlineServices\Source\OnlineServicesInterface\Public\Online

如需有关如何获取UE源代码的说明,请参阅关于下载虚幻引擎源代码的文档。

函数参数和返回类型

请参阅在线服务概述页面的函数小节,了解函数参数和返回类型的说明,包括如何传递参数以及如何处理函数返回时的结果。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消