大多数浏览器和
Developer App 均支持流媒体播放。
-
使用 watchOS 快捷指令创建快速交互
快捷指令是 Apple Watch 的自带功能,即便是复杂功能,人们也只需轻点即可完成各种操作。 将 app 的 intents(意图)应用到手腕:我们将帮助你优化快捷指令的性能,了解如何将 intents 从 watchOS 发送到 iOS,了解最新的交互和演示界面,并了解 Shortcuts app 如何管理 Apple Watch 的快捷指令和 intents。
资源
相关视频
WWDC20
-
下载
(你好 WWDC 2020) (你们好 欢迎参加 WWDC) (在 watchOS 中 使用快捷指令创建快速互动) 大家好 我是 Conrad 欢迎来到我的“地盘” 我非常激动 今天在这里为大家介绍 watchOS 7 中的全新快捷指令体验 首先 我会介绍 Apple Watch 中的 全新快捷指令 app 然后我的同事 Alex 会为大家演示如何开发 在 watchOS 中打造 令人满意的快捷指令体验 去年 在 watchOS 6 中我们对 Siri 快捷指令进行了一些激动人心的更新 我们添加了快捷指令的参数功能 也就是说 Siri 可以提出连续问题 这里可以看到 Siri 在询问 把哪些项目添加到我的沃尔玛购物车中
你也可以直接从 Siri 表盘运行快捷指令 如果有相关的快捷指令 相关建议会出现在表盘上 在适当的时候只需轻点即可运行 今年 我非常开心与大家分享 watchOS 7 中的全新快捷指令 app
watchOS 中的快捷指令 app 和 iOS 中的相辅相成 你可以直接从表盘上轻点运行快捷指令 iOS 中你了解且喜欢的快捷指令 在 watchOS 快捷指令中的效果也非常好 例如 这里是快捷指令库中 一个很好的快捷指令 自动发消息给对方 告知预计到家的时间 就在手表上运行
在新的快捷指令 app 中 你可以 安排并编辑 Apple Watch 中的专题 决定通过 iCloud 把哪些快捷指令同步到手表 如果快捷指令提问 可以在快捷指令 app 内部回答问题 例如 这里 我的“事件指引”快捷指令 询问我想查看哪个事件 我们也非常开心 watchOS 中的新快捷指令 app 支持复杂功能 可以看到 只需在表盘上轻点一下 我就能启动快捷指令 app 但是这并不是全部 你还可以设置复杂功能 直接启动具体的快捷指令 这里可以看到 我能直接从表盘发送我的预计到达时间
只需轻点复杂功能 轻点运行 就可以看到我的消息 这个消息看起来不错 所以我就继续发送了
通过在 app 内支持快捷指令 app 的快捷指令还可以直接从表盘上使用
接下来由我的同事 Alex 为大家讲解 如何为 watchOS 中的快捷指令 打造完美体验
谢谢 Conrad 大家好 下面我们先来迅速回顾一下 如何在 app 中提供快捷指令 以便充分利用 watchOS 中出色的全新快捷指令体验
正如在 iOS 中一样 app 可通过使用各个框架 SiriKit 套件 中的 API 和 NSUserActivity API 来支持快捷指令 (Siri 快捷指令介绍 WWDC18 SirKit 介绍 WWDC16) 如果你对快捷指令或者 SiriKit 不熟悉 可以先观看 往届大会的精彩视频 下面我们来了解下在手表上运行快捷指令 和在 iOS 设备上运行快捷指令有何不同
你或许知道 快捷指令可以通过 iCloud 在所有设备间无缝同步 这意味着用户 可以在 iOS 设备上配置快捷指令 把一些快捷指令 放到 Apple Watch 专题中 然后在 Apple Watch 上 运行这些快捷指令
那么用户在手表上运行快捷指令时 会发生什么呢?
取决于快捷指令的执行方式 流程会有不同 (什么样的快捷指令?) 对于通过 NSUserActivity 提供的快捷指令 我们需要打开 app 处理活动
如果 app 没有安装在手表上 那么 app 就打不开 这种情况下 运行快捷指令会提示错误
接下来我们再来看基于意图的快捷指令 现在意图由意图扩展处理 如果手表上装有意图扩展 并且它支持该意图 我们只需要把意图交给它处理
如果不支持 我们需要在配对手机上远程运行该意图 我们称之为远程执行 注意 这与基于 NSUserActivity 的快捷指令明显不同 后者只能直接在手表上运行
不过如果手机上的意图扩展 告诉我们它需要在 app 中继续 那么 就像基于用户活动的快捷指令一样 我们不能在手机上远程打开 app 同时会提示错误 否则 快捷指令则会在手机上远程执行
这里是手表上运行快捷指令 的整个决策过程
在设计快捷指令时应避免这些“错误”节点 确保 app 用户在手表上有满意的体验 稍后本次视频会介绍如何避免这些错误 下面我们详细介绍远程执行 让你和使用快捷指令的用户了解下
如果手表原生支持意图 我们会启动关联的 watchOS 意图扩展 让扩展处理意图
同样地 基于用户活动的快捷键 会在对应的 watchOS app 中运行 前提是安装了该 app
另一方面 如果我们必须把意图 发送给配对手机 我们会推出额外的 hop 把数据发送到手机 这就不可避免地增加任务执行的整体耗时
可以看到 即便你还没有手表 app 或者你的 watchOS 扩展 还不支持所有意图 我们依旧会根据你的意图运行快捷指令 不过这比本地运行要慢 要想获得最佳体验 那就需要在手表上直接处理意图
我们了解了 watchOS 中 快捷指令的运行与 iOS 的不同 下面我们来看下 在手表上支持快捷指令时有哪些选项
目前最佳的方式是有 watchOS app 并且让 app 支持和 iOS app 相同的用户活动或意图
这确保在手表上有最佳的快捷指令体验 如果你还没有提供手表 app 那么建议构建一个
如果因为某些原因 watchOS app 并不适合你 那你要确保快捷指令的远程执行没有问题 尽管远程执行非常适合运行快捷指令 不过对于还没有手表 app 的你们来说 快捷指令需要满足几个条件 以便达到想要的效果 首先 远程执行 只支持基于意图的快捷指令 而不支持基于 NSUserActivity 的快捷指令 这是因为基于用户活动的快捷指令 需要打开 app 才能运行 而在另外一台设备上打开 app 体验非常不爽 其次 只有完全在后台执行任务的意图 不需要打开 app 的意图才能远程执行
也就是说在意图处理代码中 你不能返回“continueinapp”
此外 你需要 在 Xcode 意图编辑器中的“建议”部分 为你在互动捐献中使用的 所有参数组合勾选“支持后台执行”复选框
接下来我们学习 一些执行快捷指令的最佳做法 之前提到过 在 app 中 支持快捷指令有两种方式 第一种是通过 NSUserActivity API 第二种是使用意图框架
对于所有新采用快捷指令的人 我们建议使用意图执行快捷指令 因为它提供更丰富、更加灵活的 API 你可以提供支持参数的快捷指令 并且可以后台运行
另外一个非常重要的方面是 确保在编译意图扩展时 不仅考虑 iOS 更要考虑 watchOS 这通常意味着在 Xcode 项目中创建 单独的意图扩展目标 并把它和 watchOS app 绑定
之前介绍过 要想获得最佳体验 需要在手表上本地运行快捷指令 而无需依赖于远程执行 为此 你肯定会想使 watchOS 意图扩展支持尽可能多的意图
理想情况下 在 watchOS 中 你应该支持在 iOS 上支持的所有意图
你或许知道 快捷指令厉害的地方在于 你在快捷指令 app 中 看到的任何快捷指令 也可以通过 Siri 语音运行
对于 Watch 来说 在意图中提供 细心构建的对话特别重要 因为 watchOS 不支持意图 UI 扩展
这里是一个 Siri 确认 UI 的例子 是关于基于意图的下单快捷指令 使用的是默认的确认提示
当你使用“confirm()”方法 调用“ready”函数 返回默认意图响应时 就会看到这一提示 但是它并没有提供太多信息 只是说你要点一份汤
和之前的范例相反 这里我们使用自定义确认响应 在用户购买之前 为点汤的用户提供总订单
不过自定义响应非常灵活 你可以在对话中提供任何你认为与使用 Siri 快捷指令的用户相关 或对他们有用的额外信息 (设计出色的快捷指令 WWDC 19) (为 Siri 语音快捷指令而打造 WWDC18) 关于如何取得完美的 Siri 快捷指令效果 详细信息请参考往年视频 另外一个在手表上展示 app 的好地方是 Siri 表盘 你应该检查一下 app 支持的快捷指令 是否在不同情况下相关 且在 Siri 表盘上提供
为此 你可以使用 意图框架中的相关快捷指令 API (Siri 表盘) 更多信息 请观看 WWDC 2018 《Siri 表盘上的 Siri 快捷指令》视频 接下来我们回顾下今天讲的内容 首先 为使快捷指令在 watchOS 上运行 你需要构建一个手表 app 或者开发可以远程执行的快捷指令
其次 如果你刚开始 在 app 中使用快捷指令 首选使用更丰富的意图 API 执行它们
再次 不要忘记为 watchOS 编译意图扩展 将其与手表 app 结合在一起
此外 你需要认真构建你的对话 确保当用户使用 Siri 运行快捷指令时 能有满意的语音体验
最后 建议在 Siri 表盘上提供快捷指令
感谢大家观看本次视频 我们迫不急待想要 看到你打造的优秀快捷指令 (WDC20) (你好 WWDC 2020)
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。