온라인 서비스 권한 인터페이스(Online Services Privileges Interface) 는 플레이어의 온라인 권한을 관리합니다. 권한이란 다음과 같은 플레이어의 능력을 가리킵니다.
- 온라인에서 플레이합니다.
- 크로스 플레이에 참여합니다.
- 다른 플레이어와 커뮤니케이션합니다.
- 커뮤니티에서 생성된 콘텐츠를 사용합니다.
API 개요
기능
다음 표에는 권한 인터페이스가 제공하는 함수에 대한 개요가 나와 있습니다.
함수 | 설명 | |
---|---|---|
[ | QueryUserPrivilege ](API\Plugins\OnlineServicesInterface\Online\IPrivileges\QueryUserPrivilege) |
제공된 사용자에게 주어진 권한을 쿼리합니다. |
열거형 클래스
권한 인터페이스는 두 개의 열거형 클래스를 통해 사용자 권한 및 사용자 권한 상태와 커뮤니케이션하며, 권한 상태는 EPrivilegeResults
에 의해 부여됩니다.
EUserPrivileges
사용자 권한은 EUserPrivileges
열거형 클래스로 표현됩니다.
값 | 설명 |
---|---|
CanPlay |
사용자가 온라인 또는 오프라인에서 게임을 플레이할 수 있는지를 지정합니다. |
CanPlayOnline |
사용자가 온라인 모드에서 플레이할 수 있는지를 지정합니다. |
CanCommunicateViaTextOnline |
사용자가 텍스트 채팅을 사용할 수 있는지를 지정합니다. |
CanCommunicateViaVoiceOnline |
사용자가 음성 채팅을 사용할 수 있는지를 지정합니다. |
CanUseUserGeneratedContent |
사용자가 다른 사용자가 생성한 콘텐츠를 사용할 수 있는지를 지정합니다. |
CanCrossPlay |
사용자가 크로스 플레이에 참여할 수 있는지를 지정합니다. |
EPrivilegeResults
사용자 권한 상태는 하나 이상의 EPrivilegeResults
에 의해 부여됩니다.
값 | 설명 |
---|---|
NoFailures |
사용자가 요청된 권한을 보유하고 있습니다. |
RequiredPatchAvailable |
사용자가 권한을 사용하기 전에 패치가 필요합니다. |
RequiredSystemUpdate |
사용자가 권한을 사용하기 전에 시스템 업데이트가 필요합니다. |
AgeRestrictionFailure |
자녀 보호 기능으로 인한 실패로 권한이 제한되었습니다. |
AccountTypeFailure |
권한에 프리미엄 계정이 필요합니다. |
UserNotFound |
유효하지 않은 사용자입니다. |
UserNotLoggedIn |
권한을 사용하려면 사용자가 로그인해야 합니다. |
ChatRestriction |
채팅 제한 사용자입니다. |
UGCRestriction |
사용자 생성 콘텐츠(User Generated Content, UGC) 제한 사용자입니다. |
GenericFailure |
알 수 없는 이유로 플랫폼이 실패했으며 자체 다이얼로그를 처리합니다. |
OnlinePlayRestricted |
온라인 플레이가 제한되었습니다. |
NetworkConnectionUnavailable |
네트워크 사용 불가로 인해 확인에 실패했습니다. |
사용자 권한
QueryUserPrivilege
를 호출하여 사용자가 게임 내 특정 온라인 기능이나 권한에 대한 사용이 허용되는지를 판단합니다. QueryUserPrivilege
를 사용하려면 사용자의 로컬 계정 ID와 해당 권한을 파라미터로 제공해야 합니다. QueryUserPrivilege
는 특정 사용자가 특정한 권한에 대해 허용되는지를 표시하는 결과를 반환합니다. 쿼리한 권한에 대한 사용이 사용자에게 허용되지 않는 경우, 결과에는 이유가 포함됩니다.
사용자에게 권한 사용이 허용되지 않는 이유가 여러 개일 수도 있습니다. 따라서 결과의 구조는 이 사용자가 제공된 권한에 대한 사용이 허용되지 않는 이유를 표현하는 누적 비트 OR 연산 형태의 EPrivilegeResults
값으로 나타납니다. 사용자가 이 권한에 대한 사용이 허용된 경우, 쿼리는 사용자가 원하는 권한을 사용할 때 장애물이 없음을 나타내는 EPrivilegeResults::NoFailures
를 반환합니다.
게임이 정지되는 시점을 변경할 수 있는 특정 권한도 있습니다. 이 경우 특정 게임 옵션을 더 이상 사용하지 못할 수도 있으므로, 게임이 활성 상태로 되돌아갈 때마다 사용자 권한을 다시 쿼리하는 것이 중요합니다.
추가 정보
헤더 파일
자세한 정보가 필요한 경우 Privileges.h
헤더 파일을 직접 참조하세요. 권한 인터페이스 헤더 파일 Privileges.h
의 디렉터리 위치는 다음과 같습니다.
Engine\Plugins\Online\OnlineServices\Source\OnlineServicesInterface\Public\Online
UE 소스 코드를 얻는 방법을 알아보려면 언리얼 엔진 소스 코드 다운로드 문서를 참고하세요.
함수 파라미터 및 반환 타입
파라미터를 전달하고 함수의 반환 결과를 처리하는 방법을 비롯하여 함수 파라미터 및 반환 타입에 대한 자세한 설명은 온라인 서비스 개요 페이지의 함수 섹션을 참조하세요.