Part1: SiriKit 介绍

在这里放出原文链接地址

Part 1.1 SiriKit 介绍

SiriKit 可以使你的 App 和 App 提供的服务与系统进行结合, 从它的名字就可以看出它和Siri 有着密不可分的联系, 它可以让用户仅仅使用自己的声音就可以来控制你 App 的行为.

SiriKit 由两个 Framework 组成, Intents Framework 可以使系统和你的 App 建立联系. 你可以使用它来定义你需要执行的任务的类型, 并且在特定的时刻来执行这些任务. Intents UI Framework 则允许你执行任务时提供一些自定义的 UI 界面.

SiriKit 的支持被分为了几种领域, 每一种场景都定义了一个或多个可以执行的任务. 为了可以支持 SiriKit, 你的 App 必须属于以下几种领域:

  • 网络电话 (VoIP calling)
  • 消息 (Messaging)
  • 支付 (Payments)
  • 图片 (Photo)
  • 健身 (Workouts)
  • 旅行预订 (Ride booking)
  • CarPlay
  • 餐厅订位 (Restaurant reservations, 该领域需要额外的来自苹果的支持)

每一种场景都定义了一个或多个可以执行的任务, 这些任务我们将它称之为 Intents, 因为它描述的其实就是用户意图和目的, 每一个Intent 都被抽象成为了一个类, 这个类中的属性包含了相关的信息. 例如: 支付( Payments )领域, Intent 包含了支付金额和交易人等的信息. 当用户对Siri 说出了他的请求后, 系统将会用 Siri 通过自然语言解析出来的数据对一个相应的Intent 对象进行数据的填充, 然后将这个 Intent 对象递交给你的 App 扩展. 你的任务则是验证Intent 对象中数据的准确性, 然后执行相关的任务即可.

获取更多 Intent 相关内容, 请查看: Intents Domains
获取更多 Intent Framework 相关内容, 请查看Intents Framework Reference

Part 1.2: Intents 和 Intents UI App Extensions

可以通过添加以下这两种类型的Framework 来对SiriKit 进行支持:

  • Intents Extension: 该扩展是必须添加的. 该扩展会从系统接收相应的 Intent 对象, 并对其相关的任务进行处理.
  • Intents UI Extension: 该扩展是可选的. 该扩展允许你为用户提供自定义的 UI 界面.

系统只有在需要用到它们的时候才会运行它们, 所有支持SiriKit 的 App 都必须有一个Intents Extension. 然而给用户提供一个自定义的 UI 界面, 将会给用户更好的使用体验.

Part 1.3: Siri 和 Maps 是如何处理请求的

SiriMaps 会将用户的请求分解成一些需要的数据, 将这些数据转换为一个 Intent 对象, 然后你来处理Intent 对象关联的相关任务. 就Siri 而言, Siri 通过自然语言解析, 将用户说出来的话解析成为一些可用的数据, 使用这些数据来填充一个 Intent对象. 但是解析出来的数据可能会不够或不准确, 所以Siri 需要你提供的Intent Extension 来对数据进行验证, 让你来确认数据是否完整, 确认数据是否是你想要的, 并且确认你是否明白了用户的意思. 在这个确认阶段, 你可能需要让Siri 帮你从用户那里获取更进一步的信息, 以确保你可以更精准的捕获用户的意图. 在整个确认的过程中, Siri 负责了所有与用户的交互, 你只需要专心于数据的验证就可以了.

Lemon龙说:

如果您在文章中看到了错误 或 误导大家的地方, 请您帮我指出, 我会尽快更改

如果您有什么疑问或者不懂的地方, 请留言给我, 我会尽快回复您

如果您觉得本文对您有所帮助, 您的喜欢是对我最大的鼓励

如果您有好的文章, 可以投稿给我, 让更多的 iOS Developer 在简书这个平台能够更快速的成长


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这里放出原文链接地址 Part 3.1: 分析与操作 Intents Intents Extension 的的入...
    李国安阅读 1,366评论 0 4
  • 随着iOS10.0发布脚步的临近,作为开发者,相信很多人也和我一样,可以提前体验一些新系统的新功能,也更关注新版i...
    MarkCJ阅读 19,345评论 0 18
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,381评论 25 708
  • 1.原文地址2.Additional Framework Changes章节还没来得及翻译,之后会出3.有些不适合...
    subvertWuxu阅读 6,345评论 2 39
  • 落日亏半,余晖黯淡,望穿天涯飞鸟尽。去去何方阿谁知?请君问取绿柳林。 犹记年少,青葱岁月,肆意...
    柳壹壹阅读 332评论 0 0