Sirikit 和 Shortcuts 的新特性

Stella981
• 阅读 1331

作者:NotFound9,iOS / 后端开发者,Github 1.5K+ Star数的开源后端技术总结项目-interviewGuide作者,微信公众号《大厂面试》号主

Sessions: https://developer.apple.com/videos/play/wwdc2020/10068/

推荐语

快速浏览 Siri 和 Shortcuts 中的所有新功能,以帮助人们从您的应用程序中获得更多收益:我们将演示如何设计新颖的紧凑型 Siri UI,从而设计视觉效果丰富的对话,让您有更好的操作系统体验。同时可以浏览通过应用程序组织和设置操作的所有方式。

简单介绍

这个 Session 主要介绍了 SiriKit 和快捷指令 App 的一些更新。在 iOS 14 的更新中,SiriKit 部分主要包含 紧凑型 UI 在 Siri 中的应用紧凑型 UI 在快捷指令中的应用,以及 如何将紧凑型 UI 应用到你 App 中的 Intents UI 中去。快捷指令 App 部分主要包含 更便于管理和组织指令的“文件夹模式” 和 **快捷指令的自动化功能 **。

SiriKit

Siri 是一个智能助手,它提供了一种更快,更轻松的方式来完成您的工作。在 iOS 14,苹果重新设计了 Siri,使得 Siri 拥有了这种精美的新型简明型设计。仅关注最重要的信息,在帮助您快速完成工作时,将给您带来的干扰最小化。无论您在手机上做什么,您的 Siri 都可以运行。

SiriKit 是一个用于扩展 Siri,让第三方 App 也支持 Siri 的框架。用户可以通过与 Siri 进行对话,发送指令,Siri 进行解析后,调用第三方的 App,执行特定的操作,来满足用户的需求。了解更多可以看看SiriKit 的官方文档

紧凑型 UI 在 Siri 中的应用

Siri 更像 App 的一个扩展,无论是从功能上还是从设计上都可以说明。

让我们来看看天气应用 App,在这个 App 内,您可以查看所有喜欢的城市的天气,还可以深入查看特定城市,以查看更多详细信息,例如空气质量,日出和日落时间等。如下图所示:

Sirikit 和 Shortcuts 的新特性

在 iOS 13 中,向 Siri 询问天气,Siri 会告诉你当前的预报,即将到来的每小时预报和其他一些详细信息。如下图所示:

Sirikit 和 Shortcuts 的新特性

在提倡紧凑型 UI 的 iOS 14 中,向 Siri 询问天气,它只会展示最简明,最有用的信息。但这不是为了简化而简化,而是要了解用户最需要什么。

Sirikit 和 Shortcuts 的新特性

紧凑型 UI 在快捷指令中的应用

在 iOS14 中,我们同样把紧凑型 UI 带到了快捷指令 App 中,在执行一个快捷指令时,如果需要接收用户的输入,那么会弹出一弹窗,供用户进行输入。如下图所示,在执行一个支付相关的快捷指令时,需要用户选择同意或者是取消。

Sirikit 和 Shortcuts 的新特性

如何将紧凑型 UI 应用到你 App 中的 Intents UI 中去

简单科普一下 Intents:

Intents 就是用户意图,Siri 可以对用户的语音请求进行解析,解析成一个用户意图,然后根据用户意图去执行一些操作。第三方的 App 也可以通过集成 SiriKit,对一些 App 内的操作封装成一个用户意图,供 Siri 来调用。

而 Intents UI 就是触发了第三方 App 扩展的用户意图后,显示的界面,可以是系统提供的界面,也可以自定义界面。了解更多可以阅读SiriKit 的官方文档

Sirikit 和 Shortcuts 的新特性

通过 Siri 和地图提供服务

因为快捷指令的最终目的都是让用户更高效地去使用 App 完成一些操作,这里主要是将怎么将这种紧凑型 UI 应用到第三方 App 设计的 Intent UI 界面上。

主要有三点需要注意的:

1. 避免模棱两可(disambiguation)

用户通过 Siri 触发第三方 App 扩展的用户意图时,你可以在界面自定义一些选项,供用户进行选择,如下图所示:

Sirikit 和 Shortcuts 的新特性

在 iOS 14 中,通过新的 API,不仅可以自定义选项标题,还可以自定义选项的配图,让这些选项的区分度更高,将常用的选项排在前面,并且配图可以帮助用户做出更加合适 的选择,避免用户在选择时产生模棱两可的感觉。(当然过多的图片也可能会导致用户在看屏幕时信息量过大,产生应接不暇的感觉。)

Sirikit 和 Shortcuts 的新特性

2.Intents UI 设计需要注意的点

  • UI elements

    在设计 Intents UI 时,需要始终牢记你的用户意图是为了帮助用户完成什么,以及当用户意图被触发,Intents UI 展示在屏幕上时,什么才是真正重要的。(从设计上来说,就是分清主次,在设计 UI 时,将真正重要的元素展示在最显眼的位置,供用户使用。)

  • Height

    因为基于这种紧凑式 UI 的设计,不管用户当前在使用手机做什么,当用户意图被触发时,Intents UI 总是显示在屏幕上方,所以将 Intents UI 的纵向高度设置得越小,对用户当前的屏幕显示的内容侵入性也小,可以最大程度减少对用户的当前操作干扰。

  • Background

    为了让显示在顶部的 Intents UI 的弹窗与当前的屏幕显示的内容相协调,不管弹窗是通过 Siri 还是快捷指令触发的,背景颜色都是这种不透明的。如果你有需要,可以修改弹窗的颜色,但是最好在不同的屏幕背景下进行测试,保证弹窗内容的可阅读性。

Sirikit 和 Shortcuts 的新特性

快捷指令

快捷指令是 iOS,iPad OS,Watch OS 系统自带的一个 App,主要便于用户更快,更自动化,更个性化地使用苹果设备。在 App 里面可以将多个操作合并在一个快捷指令中,只需要点击一个快捷指令,就可以帮你执行。

Sirikit 和 Shortcuts 的新特性

下图就是快捷指令 App 的编辑器界面,通过对操作进行录制,封装成一个快捷指令,可以将你所有常用的 App 中的操作,全部收集到快捷指令 App 中来。只需要单击一个快捷指令就可以让它运行起来。例如唤起 Siri 的操作,或者唤醒其他 App 的操作。

Sirikit 和 Shortcuts 的新特性

更便于管理和组织指令的“文件夹模式”

自从快捷指令 App 内置到 iOS 13 系统中后,就收获了大量粉丝用户。不管是用它来实现洗衣计时器还是简单小计算等上百种快捷指令。快捷指令使得用户拥有了一种新的,有创造力的方式去与 App 进行交互。在 iOS 14 中,通过引入“文件夹模式”使得管理快捷指令更加简单。

通过使用新的方式来创建和管理快捷指令,用户使用和保存快捷指令会更快。

Sirikit 和 Shortcuts 的新特性

首先这里有两个小的文件夹,可以帮助用户区分哪些快捷指令在 Share Sheet 中,或者是 Apple Watch 中。

Sirikit 和 Shortcuts 的新特性

在 iOS 14 中,Apple Watch 新增了快捷指令 App。在 Apple Watch 中,出来可以运行快捷指令,还可以设置快捷指令,并且通过在表盘中点击,可以运行它们。这意味着可以将 App 中复杂的功能带到 Apple Watch 中的表盘中来,Apple Watch 中可与 iOS 上的快捷指令无缝配合,人们可以在 Apple Watch 对可用的快捷指令进行添加和删除(通过将 iPhone 上的快捷指令的”Show on Apple Watch“的开关打开可以使得指令在 Watch 中显示)。

Sirikit 和 Shortcuts 的新特性

想要了解更多快捷指令在 Apple Watch 上是怎么运行的,可以看看 《Create quick interactions with Shortcuts on watchOS》 这个 session。

快捷指令的自动化功能

有时候用户希望快捷指令在满足一些特定条件时,自动运行。在 iOS 13 中,我们引入了 Automation 模块,用户可以设置一些触发条件,让指令自动运行(例如到了一天的某个时间点,或者是到了某个特定的地方,或者是打开了某个特定的 App)。用户已经设置好了指令,Automation 使得执行这些指令更快。

Sirikit 和 Shortcuts 的新特性

在 iOS 14 中,Automation 模块引入了一些新的指令触发类型。例如用户可以设置在收到邮件或者是消息时触发快捷指令的运行。

Sirikit 和 Shortcuts 的新特性

或者是在关闭某个特定 App 时,触发快捷指令的运行。

Sirikit 和 Shortcuts 的新特性

或者是当电量低于某个特定值时,触发快捷指令的运行。

Sirikit 和 Shortcuts 的新特性

或者是与充电器建立连接时,触发快捷指令的运行。

Sirikit 和 Shortcuts 的新特性

下面是 iOS 14 中新增加的指令触发类型列表:

Sirikit 和 Shortcuts 的新特性

获取快捷指令的灵感的一个好地方就是 gallery,在 iOS 14 中,我们将 automation 的建议收集添加到了 gallery,在这里可以发现大量好用的快捷指令。

Sirikit 和 Shortcuts 的新特性

最后

如果你想要了解更多关于如何让用户通过快捷指令与你的 App 进行交互,可以看看这个 session《Feature your actions in the Shortcuts app》,想要了解其他 SiriKit 相关的更新可以看看《Get the most out of Sign in with Apple》

推荐阅读

当 Widget 遇到智能化

SiriKit 新变化:高品质的 Siri 媒体交互

SiriKit 新变化:让 Intent 更强大

关注我们

我们是「老司机技术周报」,每周会发布一份关于 iOS 的周报,也会定期分享一些和 iOS 相关的技术。欢迎关注。

Sirikit 和 Shortcuts 的新特性

关注有礼,关注【老司机技术周报】,回复「2020」,领取学习大礼包。

支持作者

这篇文章的内容来自于 《WWDC20 内参》。在这里给大家推荐一下这个专栏,专栏目前已经创作了 108 篇文章,只需要 29.9 元。点击【阅读原文】,就可以购买继续阅读 ~

WWDC 内参 系列是由老司机周报、知识小集合以及 SwiftGG 几个技术组织发起的。已经做了几年了,口碑一直不错。 主要是针对每年的 WWDC 的内容,做一次精选,并号召一群一线互联网的 iOS 开发者,结合自己的实际开发经验、苹果文档和视频内容做二次创作。

本文分享自微信公众号 - 老司机技术周报(LSJCoding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这