You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
87 lines
6.9 KiB
Plaintext
87 lines
6.9 KiB
Plaintext
INTSourceChangelist:6173642
|
|
Availability: Public
|
|
Crumbs:
|
|
Title: 외부 UI 인터페이스
|
|
Description: External UI Interface, 외부 UI 인터페이스 개요입니다.
|
|
Type:
|
|
Version: 4.21
|
|
Parent: Programming/Online
|
|
Order:
|
|
Tags:
|
|
|
|
|
|
일부 온라인 서비스는 게임 콘솔처럼 전용 디바이스에서 실행되는 경우라면 특히나, 특정 작업을 실행할 때마다 뜨는 표준화된 내장 유저 인터페이스가 있습니다.
|
|
예를 들어 친구 추가, 매치 참가를 위한 초대 전송, 신용 카드 등록과 같은 작업을 하면 게임과 무관한 별도의 양식, 오버레이, 화면, 워크플로를 통해 사용자가 조작하게 될 수 있습니다.
|
|
그렇게 하는 이유는 보통 민감할 수도 있는 작업을 항상 똑같은 방식으로 처리하기 위해, 그리고 개별 타사가 아닌 온라인 서비스를 소유한 회사가 제어할 수 있도록 하기 위해서입니다.
|
|
이 기능이 모든 온라인 서비스에 전부 표준이 아닐 수도 있으며, 어떤 경우에는 한 특정 서비스나 시스템에만 존재할 수도 있습니다.
|
|
이처럼 제각각인 기능을 처리하기 위해, 온라인 서브시스템은 그 상호작용을 위한 모든 정보를 수집하여 **External UI Interface** (외부 UI 인터페이스)로 제공합니다.
|
|
|
|
## 외부 유저 인터페이스 사용
|
|
|
|
외부 유저 인터페이스는 자신만의 여러 델리게이트 호출을 통해 닫힐 때 온라인 서브시스템에 알립니다.
|
|
추가로 그 변경사항이 온라인 서브시스템의 다른 부분, 예를 들면 Login Interface (로그인 인터페이스)로의 델리게이트로 이어질 수도 있습니다.
|
|
외부 UI 인터페이스의 특정 함수가 대부분의 온라인 서비스에 구현되어 있지 않을 수가 있기 때문에, 이 함수의 반환값에 주의를 기울이는 것이 중요합니다.
|
|
반환 값이 `false` 면 해당 사용자 함수는 현재 온라인 서비스에 지원되지 않거나 어떤 식으로는 여는 데 실패했음을 나타냅니다.
|
|
이 실패 유형은 별다른 동작을 할 것이 없기에 다른 델리게이트를 호출하지 않습니다.
|
|
|
|
### 메시지 박스 표시
|
|
|
|
플랫폼 내장 스타일로 메시지를 표시하려는 경우, `ShowPlatformMessageBox` 를 호출합니다.
|
|
보통 ("게임" 메시지와 다른) "시스템" 메시지를 표시할 때 흔히 사용되는 방식으로, 사용자에게 패치 또는 업데이트 정보를 알린다든가, 오프라인에서 멀티플레이어 전용 기능을 사용하려 했을 때의 오류 메시지를 표시한다든가 하는 경우입니다.
|
|
이 작업은 완료 시 델리게이트를 발동하지 않습니다.
|
|
|
|
### 사용자 프로필 보기
|
|
|
|
사용자 프로필 오버레이를 보려면 `ShowProfileUI` 에 프로필 확인을 요청하려는 사용자, 프로필을 소유한 사용자의 `FUniqueNetId` 를 붙여 호출합니다.
|
|
오버레이가 닫히면, 제공된 (`FOnProfileUIClosedDelegate` 유형) 델리게이트가 호출됩니다.
|
|
|
|
### 로그인
|
|
|
|
사용자 인증을 처리하는 곳은 보통 [Identity Interface](Programming/Online/IdentityInterface) (ID 인터페이스)이긴 하지만, 플랫폼에 따라 별도의 유저 인터페이스 흐름을 통해야 하는 경우도 있는데, 단순히 로그인 유저 인터페이스 흐름을 직접 작성하는 것보다 편의성(과 일관성)이 뛰어나기 때문이기도 합니다.
|
|
`ShowLoginUI` 는 현재 온라인 서비스의 표준 로그인 UI 가 존재하면 사용합니다.
|
|
사용자가 인터페이스를 닫으면, 제공된 `FOnLoginUIClosedDelegate` 유형 델리게이트가 호출됩니다.
|
|
사용자의 로그인 상태에 대한 변경은 여전히 ID 인터페이스를 통해 델리게이트를 호출합니다.
|
|
|
|
### 친구 목록 사용
|
|
|
|
`ShowFriendsUI` 는 온라인 서비스에 내장 기능이 포함된 경우 친구 목록을 띄웁니다.
|
|
친구 목록 관련 보다 직접적인 동작을 위해서는, [Friends Interface](Programming/Online/FriendsInterface) (친구 인터페이스) 문서를 참고하세요.
|
|
사용자가 외부 친구 목록 UI 를 통해 가한 변경사항도 그대로 적합한 친구 인터페이스 델리게이트로의 호출로 이어집니다.
|
|
|
|
### 초대 전송
|
|
|
|
게임 세션으로 초대하기 위한 친구 목록을 제공하는 내장 UI 표시를 위해서는, `ShowInviteUI` 에 세션 이름을 붙여 호출합니다.
|
|
자세한 정보는 [세션 및 매치메이킹](Programming/Online/SessionInterface) 문서를 참고하세요.
|
|
|
|
### 다른 사용자에게 메시지 전송
|
|
|
|
"메일박스" 기능을 제공하는 서비스에서 `ShowSendMessageUI` 는 메시지 전송을 위한 UI 를 엽니다.
|
|
`FOnShowSendMessageUIClosedDelegate` 유형 델리게이트를 제공할 수 있으며, 이는 메시지 UI 가 닫히면 호출됩니다.
|
|
제공된 `FShowSendMessageParams` 파라미터는 인터페이스를 초기화합니다.
|
|
|
|
### 업적 보기
|
|
|
|
`ShowAchievementsUI` 함수에 로컬 사용자의 인덱스를 붙여 호출하면 내장 인터페이스를 통해 지정된 사용자가 해제한 업적을 확인하고 다른 사용자와 비교할 수 있습니다.
|
|
사용자의 업적을 관리하려면, [업적 인터페이스](Programming/Online/AchievementsInterface) 를 사용합니다.
|
|
|
|
### 계정 생성 또는 업그레이드
|
|
|
|
일부 온라인 서비스, 특히 콘솔의 경우 웹사이트를 거치지 않고 계정을 생성 또는 업그레이드하는 기능이 있습니다.
|
|
그 기능의 유저 인터페이스를 열려면, `ShowAccountCreationUI` 및 `ShowAccountUpgradeUI` 를 사용합니다.
|
|
`ShowAccountCreationUI` 는 완료 시 제공된 `FOnAccountCreationUIClosedDelegate` 를 호출합니다.
|
|
|
|
### 스토어 방문
|
|
|
|
`ShowStoreUI` 는 온라인 서비스의 스토어로 이동합니다.
|
|
온라인 서비스에서 지원하는 경우, 개발자는 `FShowStoreParams` 데이터 구조체에 카테고리 이름이나 제품 ID 를 지정하여 스토어 내 특정 카테고리나 제품을 확인할 수도 있습니다.
|
|
스토어 UI 가 닫히면 제공된 (`FOnShowStoreUIClosedDelegate` 유형) 델리게이트가 호출됩니다.
|
|
|
|
### 외부 웹사이트 방문
|
|
|
|
게임이 사용자를 외부 웹사이트로 보내는 경우, `ShowWebURL` 를 사용하여 시스템의 기본 브라우저 안에서 사이트를 열고, 사용자가 더이상 사이트를 볼 필요가 없다고 판단되는 경우 `CloseWebURL` 로 사이트를 닫을 수 있습니다.
|
|
사용자가 닫았든 `CloseWebURL` 호출로 인해서든 사이트가 닫힐 때, `ShowWebURL` 함수에 제공된 `FOnShowWebUrlClosedDelegate` 가 호출됩니다.
|
|
|
|
[REGION:note]
|
|
`ShowWebURL` 를 호출할 때, 열려는 URL 이상을 지정할 수 있습니다.
|
|
자세한 정보는 [`FShowWebUrlParams`](https://api.unrealengine.com/INT/API/Plugins/OnlineSubsystem/Interfaces/FShowWebUrlParams/index.html) API 페이지를 참고하세요.
|
|
[/REGION] |