大多数浏览器和
Developer App 均支持流媒体播放。
-
开发无线 CarPlay 车载系统
无论去向哪里,无线 CarPlay 车载都是旅程的绝佳搭档。无需将 iPhone 从包里或口袋中取出,直接开门上车,轻松开始享受 CarPlay 车载体验。学习如何设计您的 CarPlay 车载系统来以无线方式连接至 iPhone。了解相关的硬件要求、提供出色用户体验的最佳做法,以及如何优化配对和重新连接过程。
资源
相关视频
WWDC19
WWDC17
WWDC16
-
下载
大家好 我是 Tanya Kancheva 我在这里向大家介绍 无线 CarPlay
无线 CarPlay 对于任何旅行而言 都是完美的 你可以直接进入到车中 不需要把你的 iPhone 从包里或者口袋里拿出来 就能够开始毫不费劲地体验 CarPlay
无论你是用线缆连接 还是在无线状态下使用 CarPlay 的体验都是完全相同的
在本场会议 我们会深入探讨 关于开发一个 无线 CarPlay 系统的细节
首先 让我们来谈一谈 无线 Carplay 的体验
第一次使用无线 CarPlay 的时候 你需要将 iPhone 和你的车进行配对
进行配对最简单的方法就是 将 iPhone 接入你的车 通过一根线缆
你也可以不用接入配对 通过使用车上的 交互界面来添加一个新设备 并遵从屏幕上的 指示
将 iPhone 通过线缆与车连接 是最简单和最快速的方式 来配对无线 CarPlay 并且所有的无线 CarPlay 系统 应该都支持这一特性
当 iPhone 接入的时候 CarPlay 会正常启动
如果这辆车支持 无线 CarPlay 用户会在 iPhone 上看到如下的 提示
简单地轻点一下 “启用无线 Carplay ” 就能完成配对 过程 请确保提供一个有实际意义的 显示名称 例如在这个示例中 “我的车” 所以很明确 iPhone 会与这辆车 相连接
一旦配对完成 CarPlay 会在你下次进到车中时 自动启动
不再需要 在车载显示器上做额外的确认过程 因为 CarPlay 已经在运行了 并且用户 已经在 iPhone 上选择使用 无线 CarPlay 正如你们所见 通过 连接设备来配对是非常简单 且毫不费力的
用户也可以不用 连接设备而是通过 车内的交互界面来添加新设备 并遵循屏幕上的 指示 首先 配对过程 需要同时在 车辆和 iPhone 上开始
为了让过程变得更简单一些 CarPlay 规定了通过长按 Voice Control 按钮来开始 配对过程
通常这样做会开启 Siri 但如果没有手机连接的话 车辆会立即做好 配对的准备
你同样可以使用 车内原始用户界面 来开始配对过程 你们可以提供一个专门用于 CarPlay 的菜单 一个通用蓝牙菜单 或者两者都提供
在 iPhone 内的 CarPlay 设置中 用户可以通过 按住方向盘上的 Voice Control 按钮 来开始 配对过程
一旦 CarPlay 设置在 车辆和 iPhone 上都已开始 选择已发现的设备来开始 配对过程
Apple 建议你们允许用户 在他们的 iPhone 上 选择车辆 在你的原始界面只要显示出 车辆的名称 用户就会知道他们应该去找哪一个设备
如果你们允许用户 在车内选择设备 你们可以给出一个 被发现设备的名单
你也可以只显示出一个更短的特定名单 来添加一个 CarPlay 设备 或者你 显示出一个 所有被发现的蓝牙设备的名单 包括 Carplay 设备
如果用户选择了一个 使用通用蓝牙菜单的设备 并且那个设备支持 无线 CarPlay 你可以 提供启用 CarPlay 的选项 如果用户从 CarPlay 特定菜单选择了设备的话 不要让这一屏的内容显示出来
那么之后 CarPlay 就会连接 并且 CarPlay 会在屏幕上显示出来 之后的 CarPlay 体验是与将 iPhone 通过线缆连接 完全一样的 直到你离开 车辆
每当用户进入车辆 CarPlay 都会自动 重新连接 iPhone 可以留在你的包里或是口袋里 不需要任何的用户操作
当 CarPlay 启动时 请一定 检查在屏幕上用户最后使用的 音频模式
了解更多细节的话 请观看视频 开发 CarPlay 系统 第一部分
有了无线 CarPlay 就可以很简单地 将不止一部 iPhone 与车辆配对
另外 你也可以用线缆将一部或者 很多部 iPhone 同时连接
在你的原始用户界面中 请提供一个设备选择器 来让用户选择活跃的 CarPlay 设备
一旦 CarPlay 启动后 请不要自动切换到另一台 设备
更换活跃的 CarPlay 设备应该是由 用户决定的
如果你支持多个 蓝牙设备并且 有偏好设备 或者常用设备的设置 请将同样的机制使用在 无线 CarPlay 上
你的设备选择器会显示出所有的 CarPlay 设备 不论它们是 通过线缆连接或是通过 无线 CarPlay 配对的
请通过使用 CarPlay 图标 指示出活跃的 CarPlay 设备
请不要指示出 CarPlay 是 在有线或是无线模式下运行 传输模式 对于用户而言应该是完全清楚的
如果你提供开关设置 不要针对有线和无线 Carplay 分别提供设置 只需要提供一个 蓝牙或者 iPod 对 CarPlay 的设定
显示通知的时候 要明智一些 只显示 重要到确实需要用户了解的 通知 当第一台 iPhone 连接之后 如果 CarPlay 没有 马上出现 或者 CarPlay 入口图标没有 马上出现时 请显示一个巧妙的通知
当第二台 iPhone 通过 USB 连接 并且 Carplay 仍在运行时 请显示一个通知
当 iPhone 加入或者离开 接入点的时候 或者当它 通过蓝牙重新连接时 请不要显示通知
既然我们已经看过如何使用 无线 CarPlay 让我们来探索一下 开发这样一个系统 需要做些什么
我们将从 硬件要求入手 之后是关于 Carplay 的 设置和配对 重新连接 最后以一些 有关无线结构的想法 来结束
那么来谈谈硬件要求 无线 CarPlay 需要 蓝牙 一个 Wi-Fi 接入点 和位置信息
蓝牙用于发现 和重新连接 CarPlay 设备
要完成这一点 蓝牙子系统 需要执行 蓝牙技术核心规范 并且支持设备的发现 iAP2 协议 并在其扩展蓝牙查询响应中 显示出对 CarPlay 的支持
Wi-Fi 连接被用于所有 对 Carplay 协议的音频和视频的传输中 也用于 iAP2 协议数据传输
接入点必须是 由 Wi-Fi 联盟所认证的 并且建议 支持 802.11ac 标准 并在 5 GHz 频段下运行
另外 接入点 需要支持 Apple 设备信息元 以及 互联信息元 位置一直以来都是 CarPlay 所需要的 但对于无线 CarPlay 来说 它变成了绝对需求 因为驾驶员的手机有可能留在 口袋里或者包里 完全不在视线范围内
为了提供可靠和精确的 位置信息 车载系统 需要有 GNSS(全球卫星导航系统)接收器 车辆速度传感器的接入权限 以及 提供 Dead Reckoning(航位推算)信息 的功能
好的 我们已经了解过了 基本的硬件需求 让我们来讨论一下 CarPlay 的设置和配对
首先 我们来看一下 有哪些组成部分是必需的 对于有线和无线 CarPlay 的构建而言
当然 一个或者多个 USB 接口 一个 Wi-Fi 接入点 蓝牙模块 实体 CarPlay 通讯插件 也是必需的
在引擎开的状态下 或者车载系统重启时 00:09:49.576 --> 00:09:51.796 A:middle 这些组成部分需要
初始化并建立好
USB 要为有线 Carplay 准备好做 Role Swap(角色互换) 和 NCM 通讯
蓝牙 Wi-Fi 和网络系统 用于无线 Carplay
Bonjour 服务 和通讯插件 用来启用 CarPlay 搜索
当所有这些部分都设置好 系统就准备好可以 做 CarPlay 连接了
正如我们之前所见 有两种方式 将 iPhone 与车辆配对 如果 iPhone 是通过线缆所连接的 cable 带外配对就会 在后台被触发
否则 就需要 蓝牙配对
通过 USB 设置就不需要很多 用户操作 同时这是我们推荐的设置程序
现在让我们来深入了解 通过 USB 配对
正如你们在图表中所见 我们将所有的重要车载部件 显示在左边 iPhone 显示 在右边 在此时 系统已经 完全启动并已为 CarPlay 做好准备 当用户通过 USB 连接 车载系统正显示 原始用户界面
USB Role Switch(角色转换)紧随其后 iPhone 会显示 CarPlay 已经连接
随着 Role Switch(角色转换) 系统同样会建立一个 iAP2 协议连接 对所有请求消息 提供支持
当 CarPlay 会话 通过 USB 连接开始时 iPhone 会询问 用户是否启用 无线 CarPlay
这样一来 USB 连接 CarPlay 就已经激活了
iOS 会继续设置 音频和视频流 来在车内的 CarPlay 上显示
现在用户决定启动 无线 Carplay
在用户确认后 iOS 会生成一个蓝牙连接密钥 并会将它通过 iAP 协议发送给 车载系统
车载系统会保存这一连接密钥 同时还有 设备传输标识符 并将 这台 iPhone 保存为 已为 Carplay 设置的 配对蓝牙设备
一旦设备被保存 车载系统会发回 一个确认值 同时带外 配对完成
我们来回顾一下
如果没有带外配对 CarPlay 会话是通过 USB 建立的 并且不会被打扰
在这一过程中 并没有实际通过蓝牙做出的交换
设备需要被保存为 最后连接的蓝牙设备 或者是偏好设备 使它能够在之后重新连接
因此无线 CarPlay 会话 只会在一个点火循环之后 也就是当司机回到车上时 自动开始
请记住 这非常重要 当司机断开 USB 连接的时候 不能启动无线 Carplay
她可能只是要离开车辆
我们已经了解过 通过 USB 来设置无线 CarPlay 那让我们来看一下第二种方式 通过蓝牙配对
在一辆车内 有很多种方式可以 开启蓝牙配对
长按方向盘上的 语音识别按钮 或者通过 00:13:46.606 --> 00:13:47.176 A:middle 原始用户界面都可以实现
在原始用户界面内 有两个选择 一套为添加 Carplay 设备的 专用用户界面 或者通过 现有用户界面来添加 蓝牙设备
在接下来的几张幻灯片内 我们会深入了解 这些配对方式的 不同之处
无论这三种用户界面 中的哪一种被用户用来 发起配对 车载系统都会变为可发现状态
司机同样需要开启 iPhone 上的 蓝牙设置或者 CarPlay 设置 来将 iOS 同样设置为 蓝牙可发现状态
这是一个非常通用的 描述介绍了 手机和车载系统 都必须被设定为 可发现状态
现在我们来看一下 如何将车载系统设为 可发现模式的不同选择 以及如何选择 配对哪一个设备
在第一种情况下 车载系统会让用户 在 Carplay 内 或者 iPhone 上的蓝牙设置菜单上 搜寻车的名字
用户要进入到这个菜单 可以通过原始用户界面导航 来添加新蓝牙设备或者 长按 方向盘上的 语音识别按钮
iPhone 会发现车辆 并将其列出
司机可以在 iPhone 上选择 车辆同时 iOS 会发起一个 蓝牙配对请求
这是完成蓝牙配对 最简单也是 最直接的途径 第二种选择 是让司机在车辆原始界面 可见蓝牙设备列表中 选择 设备
在这一场景下 车载系统 不仅处于可见状态 也在搜索其他蓝牙设备
正如前一个选项 司机要进入到这个菜单 可以通过原始用户界面导航 来添加一个新蓝牙设备 或者通过长按方向盘上的 语音识别 按钮
所有支持蓝牙的设备都会 在这一列表内显示出来 所以 列表可能包含也可能不包含 CarPlay 设备
这就是为什么请牢记 在这一选项中 在用户界面中任何对于 Apple CarPlay 的提及 都是不建议去做的
在这一用户界面内 用户可以 从原始用户界面内选择设备来配对 或者像之前一样 在设备上选择
第三种选项很相似 然而 这一次 用户很明确地要从原始用户界面 来添加 Carplay 设备
这一列表只显示 真正支持无线 Carplay 的设备
车载系统必须使用 Apple CarPlay 蓝牙 EIR(设备标识寄存器) 来完成这一过滤操作
重申一下 如同之前一样 用户 可以在车辆的用户界面内选择
或者在设备上选择
在设备被选择之后 车载系统和 iPhone 就完成了 Bluetooth-Secure-Simple Pairing(简易安全蓝牙配对) 并通过蓝牙连接 IP 地址 然后车载系统 会识别出对于请求消息 的支持
当 iAP2 协议连接后 iOS 会在设备上立刻提示用户来启用 无线 CarPlay
虽然这只是个边注 但也非常重要 只有当无线接入点是 运行在 5 GHz 频段下的时候 才可以连接额外的蓝牙协议
一旦 iAP2 协议连接 iOS 会为设备提供 传输标识符 所以车载系统可以将这一设备保存为 CarPlay 设备 并且当它之后被重新连接时 可以通过不同的传输方式识别出它
车载系统遵从 Wireless CarPlay Update(无线 Carplay 更新)通知 并且如果 Carplay 在设备上被启用 它可以确认 是否继续 设置 CarPlay
如我们之前所看到的 这一确认步骤仅仅当 用户从
添加蓝牙设备菜单中选择了设备 才是必须的
当用户 在 iPhone 的蓝牙设置中开启配对 我们在 iPhone 上可以看到一个类似的 确认步骤
当然 如果用户从 Carplay 特定菜单中 开启了配对 任何确认会话 都不会显示出来
接下来 我们假设用户 先在设备上做出确认 在这种情况下 设备会要求接收 Wi-Fi 接入点的 无线证书
车载系统 在响应之前必须得到 用户确认
此时应该得到 用户的同意 而且 如果有需要的话 为无线 Carplay 重新配置系统
现在 用户同样 在原始用户界面内做出确认
之后车载系统 带着证书做出回应 iPhone 开始寻找接入点 并加入 那么之后 正是请求 有线 Carplay
Bonjour 搜索服务会运行 一旦设备被找到 车载系统 就会通过 CarPlay 控制接口 开启一个 CarPlay 会话
CarPlay 会话随后开启 一并还有 关于 CarPlay 的 iAP2 协议的建立
在这时 iAP2 协议 仍然同样是 通过蓝牙连接的
之后 iPhone 会发送一个 禁用蓝牙指令 车载系统必须断开所有 与这台设备相关的 蓝牙连接
请记住 如果 接入点是运行在 2.4 GHz 频段下 当有一个活跃的 Carplay 会话的时候 为了避免干扰 蓝牙是需要被关闭的
现在 屏幕显示和视频流 都已开始 CarPlay 用户界面也出现在屏幕上 CarPlay 正在无线运行
好的 既然我们已经看过了如何 建立无线 CarPlay 这里有一些 需要考虑的地方
首先 在设置完成后 CarPlay 用户界面应该 出现
之后 如果 iPhone 正在播放音乐 音乐回放 将会通过 CarPlay 建立
最后 设备必须 被保存为最后连接的蓝牙设备 这样它才能 在之后 自动连接
我们可以结束 对于设置和配对的讨论 并移步 深入了解当用户回到车里的时候 CarPlay 设备 是怎样重新连接的
当你要重新连接 CarPlay 你要考虑到 当时所有连接到 系统的设备 以及 引擎关闭前 系统的状态
无论 CarPlay 是使用 USB 作为传输 或者是无线连接 对于用户而言都是完全清楚的 并且仅仅取决于 设备与车辆是如何连接的 以及 连接的顺序是什么
在决定连接哪一台设备后 请确保设备 仍然开启了 CarPlay
如果 Carplay 处在不可用的状态 请使用 老办法
一旦重新连接完成 请恢复到上一次 用户使用这一系统的状态 如果她在听调频收音机 请让它继续播放 请显示出用户 所查看的最后的内容 无论是一个原始应用程序或是 Carplay
用户体验应该 持续并遵从 用户的习惯
最后 一旦有一个 Carplay 会话 在设备上运行时 不要打断它
请想像司机正在听 她最喜欢的歌 或者正在导航时朋友将设备插入 来充电 如果突然朋友手机里的音乐开始播放 这是非常有干扰性的
现在我们来回顾一些场景 来更好地理解 当我们说 重新连接取决于 项目的可用性和顺序 是意味着什么
在所有这些场景中 假设手机之前已经 配对过 无线 CarPlay 并且系统 有至少一个 USB 接口
大家请注意 当 iPhone 通过 USB 连接时 确定一个普通场景 并观察哪一种传输方式被用来 建立 CarPlay 会话
首先 请看 这个场景 只有 一台 iPhone 在车里 最简单的情况就是 用户回到车中 开车走一小段路 并将 iPhone 一直放在口袋里
比如早间通勤办一些简单差事的情况 就是非常好的 例子
因为唯一可用的传输方式是无线传输 很自然地 Carplay 也是运行在无线状态下
在下一个场景中 司机 开车后 将手机用线缆连接了
这是个很典型的习惯 出门后意识到 手机需要充电
在这种情况下 会话已经通过无线方式开启 因为我们不想有任何的打扰 CarPlay 会保持无线连接的状态 在接下来的场景中 用户 将手机用线缆连接并留在车内 然后下了车
这可能是要 在加油站临时停一下或者就是简单地 把手机忘在车里了 当用户回来的时候 设备可以通过 USB 或者无线的方式来连接
然而 通常 USB 层恢复地更快一些 所以 CarPlay 是 通过 USB 重新连接的 现在我们来看一下 如果司机一进入到车内就将手机用线缆连接到车上 会发生什么
这可能是要去 长途旅行或者是 需要马上充电
在这种情况下 系统启动时会同时带动 USB 和无线两种模式
由于对时间的把控是 非常依赖于用户习惯的 CarPlay 会话 会通过第一个可用的 传输方式连接
如果 USB 已连接 然而蓝牙或者 Wi-Fi 还在重新连接 这个会话会最终通过 USB 连接 如果无线模式在 USB 连接之前就完成了重新连接 该会话就会在无线模式下运行
在最后一个场景中 我们考虑 车内有多台设备的情况
司机可能一进到车里 就把手机用线连接了
这可能是跟朋友 去公路旅行时需要充电 或者想播放 手机里的音乐
再一次 如同之前一样 会话最初怎样开始是取决于 可用的传输方式
过后 司机可能想 通过使用原始用户界面 更换活跃的 CarPlay 设备
好的 现在来看一下 你们如何实现这些 场景
我们可以通过查看 无线重连的流程开始
首先 等待蓝牙 和接入点 完全启用
然后检查最后连接的设备 是否在车载系统内被标记为 CarPlay 设备 如果是的话 请确保 没有其他活跃的 Carplay 会话 不论是与这同一台设备之间 还是其它的有线 或者无线设备
如果没有其它会话了 继续通过蓝牙进行 iAP2 协议连接
一旦 iAP2 协议 连接后 请等待接收 无线 Carplay 启用的通知
如果已启用 请等待 设备被发现然后连接
当连接指令发出后 iPhone 会检查 哪个用户界面是可用的 并会通过无线或者有线的方式 开始会话
对于 USB 连接方式 这一流程 看起来相当类似 你等待设备 连接好 你检查一下 有没有其它活跃的会话 因为我们不想干扰到它 如果没有的话 检查 Carplay 是否已启用 接下来进行 Role Switch(角色转换) 并选择一个设备 来连接 在这时 iPhone 会检查 是否无线和 有线连接都是可用的 并从二者中选择一个 来建立会话 最后使用过的用户模式会恢复 司机就准备就绪了
在前两张幻灯片中 我们看到了如何自动 重新连接到最后使用的 设备
但如果 有多个 CarPlay 设备在车里 会发生什么
它们可能是通过 USB 连接的 或者是通过 无线配对的 或者同时由无线配对 并通过 USB 连接的
这些设备中的一台 会自动重新连接 但正如我们之前提到的 原始用户界面会列出所有的设备 并让司机选择更改 活跃的 Carplay 设备
这时 车载系统 会遵从相同的步骤 来通过可用的传输方式 重新连接
最后 我们来讨论一下 在一个会话中断后的 重新连接
CarPlay 连接中断的出现 可能是由于多种原因
车载系统必须意识到为什么 发生了连接中断 并决定是否有必要重新连接 以下是一些常见的场景 和相应的结果
在用户 拔出 USB 线缆的情况下 或者手动从原始用户界面断开连接的情况下
不需要任何的重新连接操作 因为这是明确的用户操作 表明用户结束了 Carplay
会话
然而 当手机不再可用的时候 比如 用户走开了 关掉了 Wi-Fi 或者任何类似的东西 车载系统应该 立刻重新连接到 同一台使用 Carplay 控制接口 的设备
如果失败了 继续使用蓝牙重连 来重新建立 CarPlay 会话
这样 我们已经探索过了所有 Carplay 连接的类型
现在让我们来回顾一些 结构性的考虑 当我们在设计一个无线 CarPlay 系统的时候
当我们设计一个无线系统时 你需要为了性能表现 做出优化
这意味着 你需要决定去支持那一种 Wi-Fi 协议 去使用什么样的配置 以及运行在什么 频段下
接下来 你需要考虑 还有什么其它的无线技术 会在车内使用 及其潜在干扰
像互联网数据这样的服务 或者其他车内应用程序 都有可能 对性能表现有影响
牢记这些后 你需要确保 Carplay 无线性能表现的要求 全部都满足了 那么 关于无线 Carplay 我们推荐去做些什么呢 首先 我们强烈建议 你的无线接入点 运行在 5 GHz 频段下
它可以提供更多 可供选择的频道 更不易 被干扰到 同时这是 最不拥挤的频段 无论何时只要有可能的话 请一定使用 5 GHz 频段
尽管不建议使用 2.4 GHz 频段 而且它非常 拥挤 在某些监管领域 你可能还是需要 使用它 然后你需要格外注意 同时存在的使用场景 如果已经有一个 活跃的 CarPlay 会话 你必须完全禁用蓝牙层级
如果你提供 LTE Bnad 40 频段的 连接功能 那么你的运行频道 就更加有限了
请牢记如果你要设计一个 运行在双频段下的系统 你需要考虑 用户体验会怎样 被影响 在 5 GHz 频段下 其它蓝牙设备 可以并行配对连接 然而在 2.4 GHz 频段下 要添加或者连接第二台 蓝牙设备 是不可能的
有些系统可能会选择 部署多个接入点 或者双频段 AP 来提供不同的 车内服务 和应用
如果这些接入点 都是运行在同一频段下的 它们需要使用不同的频段 来避免干扰
如果这些接入点使用了 相同的 SSID 和密码 它们需要 提供同一套服务 来避免不连贯的 体验
那么最后 不建议 针对 Carplay 使用 隐藏网络
最后 我们来看一下如果 为 iPhone 提供 互联网数据连接
车载系统 通过 Apple Divice IE 以及 the Networking IE 来动态传达互联网连接状态
当有改变发生的时候 需要发送通知 例如 要说明 数据通讯模块 在系统中是可用的 或者 这一模块出现了故障 或者其服务合同 已过期
由于信号覆盖不佳造成的 短暂连接中断 不需要传达给 iPhone
要了解更多关于这一会议的信息 请查看本次会议 的网站
如果你对开发 CarPlay App 有兴趣的话 请查看 Enabling Your App for CarPlay(使你的 App 可用于 Carplay) 部分的会议
也请参考去年的视频 来了解关于 Carplay 的基本信息
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。