目前快应用平台与车机提供商合作适配的设备,有以下几个特点:
围绕车机设备的屏幕的适配开发,开发者可能需要考虑以下几个方面:
开发者可以使用orientation属性
设置 应用级别 或者 页面级别 的屏幕朝向,应用级别定义在display属性
中,页面级别定义在具体的每个页面中;
详情请参考官方文档:manifest.json中的orientation属性
由于车机中的快应用,属于非全屏渲染的方式,不适合采用以往同等比例缩放的px单位的效果
,因此此处推荐开发者使用dp方式开发;
关于dp的布局方式,请参考上一份文档:非等比例的屏幕适配,作为临时的解决方案,设置 device-width
时并在代码中使用px暂时替代dp,来达到同等效果;
序号 | 宽度(dp | 高度(dp) | 宽度区间(dp) |
---|---|---|---|
1 | 860 | 645 | [800, 960) |
2 | 878 | 1024 | [800, 960) |
3 | 960 | 600 | [960, 1120) |
4 | 1024 | 1053 | [960, 1120) |
5 | 1080 | 900 | [960, 1120) |
6 | 1200 | 900 | [1120, 1280) |
7 | 1280 | 480 | [1280, 1440) |
8 | 1280 | 720 | [1280, 1440) |
9 | 1540 | 1086 | [1440, 1600) |
10 | 1920 | 720 | >= 1600 |
11 | 1920 | 1080 | >= 1600 |
优先适配的屏幕分辨率列表如下:
序号 | 屏幕宽度(dp) | 屏幕高度(dp) | 可用宽度(dp) | 可用高度(dp) |
---|---|---|---|---|
1 | 1920 | 720 | 1536 | 720 |
2 | 1920 | 720 | 1732 | 720 |
3 | 1920 | 720 | 1790 | 660 |
4 | 1920 | 1080 | 1732 | 1020 |
其中,可用宽度与可用高度是快应用可以使用的最大尺寸。因为系统常驻导航栏会占用部分屏幕空间,可用宽度与可用高度会分别小于或等于屏幕的宽度与高度。
车机的分辨率变化很大,为了获得最佳的显示效果,应用的页面布局需要能够自适应。
栅格化是前端开发中比较常见的一种布局方式,它提供了一套友好美观的CSS预定义配置;
在没有设计师定稿的情况下,能够有效的帮助开发者编写得体简单的页面形态;
栅格化的主要特点有两个:1) 每行定义固定的列数值;2) 定义常见几种不同的屏幕尺寸类型;
提示:栅格化不是页面自适应的唯一方式,开发者也可以自由定义,此处提供一个示例代码。
由于车机的特殊性,语音是车机上一个非常强的需求。快应用在车机上新增了语音能力,可以通过语音使用快应用的各种功能。
快应用提供了语音接口,支持可见即可说和NLP两种语音能力:
车机上会有专门的物理按键来快速完成任务,快应用在可以支持的时候,必须适配这些物理按键。
车机上的物理按键包括:
快应用可以在组件或页面的onKey事件中响应这些按键。如果快应用未响应按键,框架会将按键事件转为为音视频播放接口和组件的事件。
对于音频播放,快应用必须支持play、pause、stop、previous、next这几个事件。对于视频播放,快应用必须支持start、pause这几个事件。在快应用未响应播放控制按键时,快应用框架会默认触发这些事件,实现对多媒体按键的支持。
除此之外,视频播放如果支持切换剧集,还必须支持KEYCODE_MEDIA_PREVIOUS和KEYCODE_MEDIA_NEXT两个按键,来实现上一集和下一集的切换。
车机与手机的生态有很大不同,因此很多第三方服务接口不能使用,比如各种支付接口。不支持的接口,会在本文档的标题上标记【车机不支持】。如果要在车机应用中实现支付,需要快应用显示二维码,由用户用手机扫码支付。
车机与手机相比有很多不同的地方,快应用必须进行妥善适配,才能提供好的用户体验,才能通过上线审核。
车机快应用必须适配的功能包括:
因为车机和手机的不同,大部分快应用都需要分别开发车机版和手机版两个版本,这两个版本必须使用不同的包名。建议在车机版的包名上增加.auto后缀来进行区别。