产品新闻

立即将 Android 游戏带到车载屏幕上

阅读用时:3 分钟
查看 Jan Kleinert 的个人资料
Jan Kleinert 开发者关系工程师

今天,Android Auto 和内置 Google 的 Android Automotive OS 汽车的游戏类别正式从 Beta 版升级为正式版。我们的抢先体验合作伙伴已开始为汽车的停车时体验提供游戏,您可以在我们最新的适用于 Android Auto 的游戏和适用于 Android Automotive OS 的游戏合集中浏览这些游戏。

Quote-black-bg.png

将游戏引入汽车,让您可以在用户自然空闲时间(例如在充电站等待或等待路边取货时)触达他们。今天的里程碑意味着,我们正在开放访问权限,以便开发者现在可以将游戏发布到 Google Play 上的开放式测试轨道和正式版轨道。在本文中,我们将重点介绍关键技术要求和发布条件,说明如何调整现有 Android 游戏以适应车载屏幕。

为游戏实现车载支持

如果您已遵循构建自适应应用的最佳实践,那么将现有 Android 游戏移植到汽车上主要涉及配置应用清单,并确保游戏尊重车辆停放状态。

将应用标记为游戏

如需在游戏类别中分发应用,您需要明确声明其类别。将 android:appCategory="game" 属性添加到清单文件的 <application> 元素中:

<application ... 
    android:appCategory="game">
    ...
</application>

声明对 Android Auto 的支持

搭载 Android 15 及更高版本的设备上的 Android Auto 支持游戏。如需声明您的游戏支持 Android Auto,请在清单文件中某个 activity 的 intent 过滤器中添加以下 <category> 元素:

<activity ... 
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

通常,android.intent.category.CAR_LAUNCHER 类别元素与 android.intent.category.LAUNCHER 元素位于同一 intent 过滤器中,但如果您希望启动其他 activity,也可以将其放在其他 activity 的 intent 过滤器中。

声明对 Android Automotive OS 的支持

如需声明您的游戏支持 Android Automotive OS,请在清单文件中添加 android.hardware.type.automotive <uses-feature> 元素。

<manifest ... 
    ...
    <uses-feature android:name="android.hardware.type.automotive"
                  android:required="false" />
    ...
</manifest>

android:required 值有不同的限制,具体取决于您选择哪个轨道来分发 Android Automotive OS 应用。如果您在移动轨道上分发 Android Automotive OS 应用,则 android:required 必须设置为 "false"。不过,如果您在 Android Automotive OS 专用轨道上分发应用,则可以将 android:required 设置为 "true" 或 "false",也可以不设置。如果不设置该值,效果与将 android:required 设置为 "true" 相同,这意味着您的应用仅可在 Android Automotive OS 设备上分发。

处理停车状态

汽车引入了独特的物理环境,包括驾驶状态和停车状态。某些类型的应用(例如游戏)被视为停车应用,不允许在车辆行驶时运行,以免分散驾驶员的注意力。默认情况下,当车辆行驶时或当用户体验 (UX) 限制处于有效状态时,Android Auto 和 Android Automotive OS 会阻止使用或启动 activity。为确保游戏符合驾驶员分心准则,请勿在清单中的任何 activity 中添加 distractionOptimized 元数据元素。您还必须确保游戏音频在用户开始驾驶时停止,并且在车辆行驶过程中无法取消暂停。

TrivialKartSample.png
在停车状态下,在桌面车机上运行的 TrivialKart for Unity 示例应用。
UXRestrictionsActive.png
用户体验限制生效时,停车状态下应用的运行方式。

此外,当用户从主屏幕重新启动应用时,游戏必须尽可能恢复为与之前的状态最接近的状态。测试游戏的响应能力,确保游戏在运行期间不会卡顿或出现延迟。

声明游戏控制器支持

汽车屏幕支持触控输入,但许多用户更喜欢使用连接的游戏手柄来玩游戏。如果您的游戏支持控制器输入,请在清单中声明 android.hardware.gamepad 功能,以帮助提高您的应用在 Google Play 商店中的曝光度,让专门寻找兼容控制器的体验的用户能够找到您的应用。

<uses-feature android:name="android.hardware.gamepad" android:required="false"/>

将 android:required 属性设置为 false,以表明您的应用支持控制器,但使用控制器是可选的。除非游戏必须使用控制器,否则请勿将 android:required 属性设置为 true。

支持常见的屏幕尺寸和宽高比

汽车显示屏有各种形状和宽高比,包括纵向和宽横向屏幕。为了提供出色的用户体验,请让游戏完全适应不同的屏幕尺寸,以便在全屏模式下运行,而不会出现信箱模式或立柱模式。对于 Android Auto,请参阅针对标准屏幕尺寸进行测试的相关指南;对于 Android Automotive OS,请在通过模拟器进行测试时使用捆绑的硬件配置文件。

将游戏发布到汽车

完成必要的更改后,您可以在 Google Play 管理中心内选择加入 Android Auto 和 Android Automotive OS 设备规格分发计划。在提交以供正式发布之前,请根据汽车应用质量指南(针对游戏)测试您的游戏。

使用桌面车机测试应用的 Android Auto 兼容性,并使用 Android Automotive OS 模拟器测试 Android Automotive OS 上的体验。在游戏获得批准进行公开测试或发布为正式版之前,我们会根据汽车应用质量指南(游戏类别)审核游戏。

随时随地畅玩游戏

随着游戏类别正式版现已发布,现在正是针对汽车优化游戏的好时机。如需详细了解实现细节,请参阅为汽车构建游戏中的文档。

编剧:
继续阅读