介绍SiriKit
重要:
这个文档包含了开发中的API以及技术的前置资料,这分资料正在更新中,所以根据这份资料开发的产品需要在最终的操作系统里面进行测试。
SiriKit是让你的内容通过Siri展示的一个框架库。同时它也让你的服务在地图app中得到支持。为了支持SiriKit,你可以使用Intents framework 以及 Intents UI framework来实现包含在你的app里面的一个或多个扩展应用。当用户向Siri或者Map请求特别类型的服务时,系统就会使用你的扩展来支持那些服务。
只有实现下列其中至少一个类型的服务才能使用SiriKit支持。
- 语音或者视频呼叫
- 信息通讯
- 支付功能
- 查找图片
- 健身
- 预约出行工具
提示:
汽车供应商可利用CarPlay Intents,以允许用户控制使用语音命令功能的汽车。
每种类型的服务代表可以支持的功能域,以及每个域都为你定义了一个或多个intents。为了响应用户的语义而产生的对象成为intent对象。Siri和Maps为了响应用户的请求,创建了intent对象,然后根据用户指定的信息来进行填充。举个例子,用于发送消息的intent可能包括该消息的收件人和内容。你使用一个intent对象去提供恰当的响应,并完成相关的任务。关于更多域和intent的相关内容,请参考域和意图。
intent以及intent UI扩展
Siri和Maps根据两种不同类型的扩展来跟你的应用提供的服务进行互动。
- 一个意图扩展传达你应用的内容给Siri和Maps,并执行任何支持的意图相关的任务。
- 一个意图UI扩展为你的内容在Siri和Maps中,提供了自定义的界面,这个是可选的。
意图扩展是使用SiriKit必备的。你的意图扩展是用于响应处理意图以及提供相关信息,Siri和Maps以此来跟用户进行交互。 提供意图界面是可选的,但这会让用户在Siri中使用到跟你应用相类似的熟悉界面,举个例子,,意图UI扩展可以显示品牌和其他应用程序特定的信息,以强化了您的应用程序提供响应的操作。
关于以上详细,可以参考如何使用Intents Framework Reference 如何使用Intents UI Framework Reference
Siri和Maps扮演的角色
Siri需要根据语言处理以及语义分析来将用户的口语转化为你的扩展能够处理的可理解的意图。 Siri和Maps管理用户的所有交互,并使用标准的系统界面显示结果给用户。 你的作用主要是提供数据展示。如果你的应用包含了意图扩展,你可以提供一个自定义界面,用来补充默认的系统接口。
出行预定以及餐馆预定主要由Maps来处理。当然,用户也可以使用Siri来预定出行工具。 对于从Siri和Maps来的处理请求,你的意图扩展应用都是做相同的响应,但是对于意图界面,可以自行配置,在不同应用中更改不同的界面展示。