所有Xbox 应用都使用通用 Windows 平台打包,但这并不意味着所有Xbox 应用数据都必须用 XAML 和 C# 编写。 本部分将介绍几个需要做出的高级体系结构决策,然后才能开始编写Xbox 应用lication。
有关开发适用于 Xbox 的 UWP 应用程序的一般指南,请参阅以下文档:
应用开发模型
一般情况下,有 2 种建议的模式用于编写适用于 Xbox 的媒体应用:
使用 WebView 中托管的网站 - 编写一个瘦 C# 应用程序,该应用程序在全屏 WebView 中加载网站。 应用的大多数 UI 都以 Web 技术(如 JavaScript 和 HTML)编写,托管在你管理的服务器上。 (请注意,Xbox 尚不支持 WebView2。如果你最熟悉 Web 技术,或者想要快速将更改部署到 UI,而无需完成应用商店发布过程,则可以选择此选项。
使用本机 UWP API – 应用内置于 XAML 和 C#、C++/Cx 或 C++/WinRT 中,使用 MediaElement 和 MediaPlayer API 播放内容。 如果:在 C# 中工作最舒服,或者希望性能优于单独使用 Web 技术,则可以选择此选项。
用户模型
Xbox 上的应用程序可以在两个不同的用户模型之一下运行:单用户应用程序(SUA)或多用户应用程序(MUA)。 SUA 在单个 Xbox 用户的上下文中运行,逐用户存储应用数据。 在 Xbox 更改中使用的用户帐户时,SUA 将重新启动并在新用户的上下文中运行。
MUA 在通用用户帐户的上下文中运行,在当前用户帐户发生更改时不会重新启动。 应用数据在登录到系统的所有用户之间共享。
有关详细信息,请阅读以下文档: 多用户应用程序简介 - UWP 应用程序
其他功能
本部分包含有关你可能希望在 Xbox 媒体应用程序中使用的其他几个功能的详细信息。
后台音频
你的应用可以在 Xbox 上运行其他应用或游戏时注册以在后台播放音频。
可在以下位置找到有关使应用在后台运行的文档: 在后台播放媒体 - UWP 应用程序
你还需要与系统媒体传输控件集成,这样用户就可以在 Xbox 指南中操作播放,而无需重新启动应用:
WebView 音频播放
如果要在 WebView 中托管应用程序,则当涉及到播放后台音频的位置时,有两个选项:
- 可以使用 WebView 本身中的 HTML 音频元素播放它
- 可以使用 WebView.AddWebAllowedObject 允许 JavaScript 代码调用 C#,并使用 C# MediaPlayer API 执行播放
强烈建议使用方法 #2,因为它允许应用在进入后台时释放 WebView 使用的内存。 这比尝试在不释放 WebView 的情况下控制后台内存使用情况要容易得多。
浅色和深色模式
用户可以在 Xbox 设置菜单中选择浅色和深色主题的首选项。 你的应用可以检查用户的首选项并相应地呈现应用。 有关详细信息,请参阅以下文档:
Application.RequestedTheme 属性 (Windows.UI.Xaml) - Windows UWP 应用程序
DIAL 协议支持(Google 助手等)
DIAL 协议允许辅助设备(如平板电脑和手机)在 Xbox 上启动内容并自动配对。 有关详细信息,请参阅本文档: Windows.Media.DialProtocol 命名空间 - Windows UWP 应用程序
媒体远程
如果计划支持媒体远程功能并使用媒体远程控件来控制媒体播放,则需要将 SMTC 集成到代码中。 有关详细信息,请参阅本文档。
SystemMediaTransportControls 类 (Windows.Media) - Windows UWP 应用程序 |Microsoft Docs
请求分级
可以调用 API 来请求用户对应用程序进行评分。 这有助于增强评级:
全球化和本地化
如果计划以多种语言或市场交付应用程序,本指南可能会有所帮助:
如果要在 C++ 或 C# 中生成本机应用程序,则可以使用资源文件简化本地化过程: