一般使用场景:
- 语音和视频通话
- 发送消息
- 收款或者付款
- 图片搜索
- 管理锻炼
- 行程预约
使用Intents extension扩展
实现一个
Intents extension
扩展并产生了一个Siri
请求事件时,一个典型的Intent
事件的处理过程中总共有这三个步骤Resolve
、Confirm
和Handle
:
Resolve
阶段。在Siri
获取到用户的语音输入之后,生成一个INIntent
对象,将语音中的关键信息提取出来并且填充对应的属性。这个对象在稍后会传递给我们设置好的INExtension
子类对象进行处理,根据子类遵循的不同服务protocol
来选择不同的解决方案
Confirm
阶段。在上一个阶段通过handler(for intent:)
返回了处理intent
的对象,此阶段会依次调用confirm
打头的实例方法来判断Siri
填充的信息是否完成。匹配的判断结果包括Exactly one match
、Two or more matches
以及No match
三种情况。这个过程中可以让Siri
向用户征求更具体的参数信息
在confirm
方法执行完成之后,Siri
进行最后的处理阶段,生成答复对象,并且向此intent
对象确认处理结果然后执显示结果给用户看
参考:https://www.jianshu.com/p/0881bb0ff538
https://www.jianshu.com/p/91d70fb619d7