Xbox Media 애플리케이션 아키텍처

비고

UWP 기반 게임은 Xbox 스토어에서 더 이상 허용되지 않습니다. ID@XBOX 프로그램을 사용하세요.

모든 Xbox 앱 유니버설 Windows 플랫폼을 사용하여 패키지되지만 모든 Xbox 애플리케이션을 XAML 및 C#으로 작성해야 한다는 의미는 아닙니다. 이 섹션에서는 Xbox 애플리케이션 작성을 시작하기 전에 수행해야 하는 몇 가지 높은 수준의 아키텍처 결정을 거칩니다.

Xbox용 UWP 애플리케이션 개발에 대한 일반적인 지침은 다음 설명서를 참조하세요.

Xbox One의 UWP - UWP 애플리케이션

앱 개발 모델

일반적으로 Xbox용 미디어 앱을 작성하는 데 권장되는 두 가지 패턴이 있습니다.

  1. WebView에서 호스트되는 웹 사이트 사용 – 전체 화면 WebView에서 웹 사이트를 로드하는 얇은 C# 애플리케이션을 작성합니다. 대부분의 앱 UI는 관리하는 서버에서 호스트되는 JavaScript 및 HTML과 같은 웹 기술로 작성됩니다. (WebView2는 Xbox에서 아직 지원되지 않습니다.) 웹 기술에서 가장 편안하게 작업하거나 앱 스토어 게시 프로세스를 거치지 않고 UI에 변경 내용을 신속하게 배포하려는 경우 이 옵션을 선택할 수 있습니다.

  2. 네이티브 UWP API 사용 – 앱은 MediaElementMediaPlayer API를 사용하여 콘텐츠를 재생하는 XAML 및 C#, C++/Cx 또는 C++/WinRT로 빌드됩니다. C#에서 가장 편안하게 작업하거나 웹 기술만으로 달성할 수 있는 것보다 더 나은 성능을 원하는 경우 이 옵션을 선택할 수 있습니다.

사용자 모델

Xbox의 애플리케이션은 SUA(단일 사용자 애플리케이션) 또는 MUA(다중 사용자 애플리케이션)의 두 가지 사용자 모델 중 하나에서 작동할 수 있습니다. SUA는 단일 Xbox 사용자의 컨텍스트에서 실행되어 사용자별로 앱 데이터를 저장합니다. Xbox에서 사용 중인 사용자 계정이 변경되면 SUA가 다시 시작되고 새 사용자의 컨텍스트에서 실행됩니다.

MUA는 일반 사용자 계정의 컨텍스트에서 실행되며 현재 사용자 계정이 변경될 때 다시 시작되지 않습니다. 앱 데이터는 시스템에 로그인하는 모든 사용자 간에 공유됩니다.

자세한 내용은 다음의 다중 사용자 애플리케이션 소개 - UWP 애플리케이션 설명서를 참조하세요.

추가 기능

이 섹션에는 Xbox 미디어 애플리케이션에서 사용할 수 있는 몇 가지 추가 기능에 대한 세부 정보가 포함되어 있습니다.

백그라운드 오디오

다른 앱 또는 게임이 Xbox에서 실행되는 동안 앱이 백그라운드에서 오디오를 재생하도록 등록할 수 있습니다.

백그라운드에서 앱을 실행할 수 있도록 설정하는 설명서는 백그라운드에서 미디어 재생 - UWP 애플리케이션에서 찾을 수 있습니다.

또한 사용자가 앱을 다시 시작하지 않고도 Xbox 가이드에서 재생을 조작할 수 있도록 시스템 미디어 전송 컨트롤과 통합하려고 합니다.

시스템 미디어 전송 컨트롤과 통합 - UWP 애플리케이션

WebView 오디오 재생

WebView에서 애플리케이션을 호스팅하는 경우 백그라운드 오디오를 재생하는 위치에 두 가지 옵션이 있습니다.

  1. WebView 자체 내에서 HTML 오디오 요소를 사용하여 재생할 수 있습니다.
  2. WebView.AddWebAllowedObject를 사용하여 JavaScript 코드가 C#으로 호출되도록 허용하고 C# MediaPlayer API를 사용하여 재생을 수행할 수 있습니다.

앱이 백그라운드로 들어갈 때 WebView에서 사용하는 메모리를 삭제할 수 있으므로 접근 방식 #2를 사용하는 것이 좋습니다. WebView를 삭제하지 않고 백그라운드 메모리 사용량을 제어하는 것보다 훨씬 쉽습니다.

밝고 어두운 모드

사용자는 Xbox 설정 메뉴에서 밝은 테마와 어두운 테마에 대한 기본 설정을 선택할 수 있습니다. 앱은 사용자의 기본 설정을 확인하고 앱을 적절하게 렌더링할 수 있습니다. 자세한 내용은 다음의 설명서를 참조하세요.

Application.RequestedTheme 속성(Windows.UI.Xaml) - Windows UWP 애플리케이션

DIAL 프로토콜 지원(Google Assistant 등)

DIAL 프로토콜을 사용하면 보조 장치(예: 태블릿 및 휴대폰)가 Xbox에서 콘텐츠를 시작하고 자동으로 페어링할 수 있습니다. 자세한 내용은 다음의 Windows.Media.DialProtocol 네임스페이스 - Windows UWP 애플리케이션 설명서를 참조하세요.

미디어 리모컨

미디어 원격 기능을 지원하고 미디어 원격의 컨트롤을 사용하여 미디어 재생을 제어하려는 경우 SMTC를 코드에 통합해야 합니다. 자세한 내용은 다음 설명서를 참조하세요.

SystemMediaTransportControls 클래스(Windows.Media) - Windows UWP 애플리케이션 | Microsoft Docs

평가 요청

애플리케이션을 평가하도록 사용자에게 요청하기 위해 호출할 수 있는 API가 있습니다. 이렇게 하면 등급을 강화하는 데 도움이 될 수 있습니다.

앱에 대한 평점 및 리뷰 요청 - UWP 애플리케이션

세계화 및 지역화

여러 언어 또는 시장에서 애플리케이션을 제공하려는 경우 이 지침이 도움이 될 수 있습니다.

세계화 및 지역화 - Windows 앱

C++ 또는 C#에서 네이티브 애플리케이션을 빌드하는 경우 리소스 파일을 사용하여 지역화 프로세스를 더 쉽게 만들 수 있습니다.

UI 및 앱 패키지 매니페스트의 문자열 지역화- UWP 애플리케이션