美文网首页Des's iOS
SiriKit 学习笔记

SiriKit 学习笔记

作者: 扬仔360 | 来源:发表于2016-06-16 03:07 被阅读956次

SiriKit 学习笔记 未完成

这是什么东西,干什么用的就不说了撒、

SiriKit 是如何工作的?

目前 Siri 能支持的服务包括以下部分:

  1. 基于网络的语音/视频通话 (VoIP Calling)
  2. 发送信息 (Messaging)
  3. 支付 (Payments)
  4. 照片搜索 (Searching photos)
  5. 训练 (Workouts)
  6. 预定 (Ride booking)

也就是说,通过 SiriKit 你是可以做上面这些事情,这每一项服务,被称为一个 Intents Domain,可以理解为一个意向域,每个用户向 Siri 传达的指令被识别为一个 Intents,每一个 Intents 都属于一个具体的 Intents Domain。

举个例子🌰,比如你给 Siri 讲:

“Hey siri, 微信告诉 Sean 我明天不去上班了。”

这么一句话,那么你看,其实这个 Intents 其实包含着 四个信息

  1. 微信 -- 调用微信这个APP
  2. 发送消息 -- Intents 的类型是 INSendMessageIntent
  3. Sean -- 消息的接受者
  4. 我明天不去上班啦~!!! -- 消息的具体内容

Siri 获取了前两个消息之后,就确定是哪一个 APP,以及这个 Intents 的类型,然后 去查看咱们的 APP 有没有支持这个 Intents 的 Domain,如果没有支持,Siri 就会告诉你:

“对不起,我好像不明白。”

根据这个 Intents,再去获取具体的参数。那你现在是 Messaging 的 Domain 的 INSendMessageIntent

那么对于 INSendMessageIntent 这一个 Intents 来说,具体的参数就是消息的接受者和消息的内容,也就是后两个信息。

所以我们想要 APP 对接 Siri,只需要做两件事情:

  1. 在应用的 Plist 文件中声明 APP 支持的 Intents Domain
  2. 实现具体的 Intents 方法

Intents Framework & Intents UI Extensions

为了支持 Siri,你需要使用Intents FrameworkIntents UI Framework

技术上讲,其实 Siri 和 Maps 跟我们的 App 交互的时候就是通过两个 Extension 扩展类:

Intents : 这个 Extension 是必须实现的。如同上面的举例,这个 Extension 其实就是 App 对具体的 Intents 的处理的实现,也就是 SiriKit 最核心的一部分。

Intents UI : 标记为 Optional,可以提供也可以不提供,这个东西就是你对 Siri 说话之后 Siri 的那个界面出现的 UI 样式,你可以自定义那个。看需求选择实现。

创建一个 Intents Extension

上面说了,Siri 通过 Intents Extension 来实现跟 App 的交互,INExtension 类就是这个 Intents Extension 的实现。

当我们实现一个具体的 Intents extensions 的时候,INExtension 有常见的三种具体对象:

  1. 用来解析用户的 Intents 的类,获取 Siri 传递过来的 Intents 对象的参数信息
  2. 一个对用户的 Intents 进行 明确确定、再次确认 以及 逻辑处理的对象
  3. 根据处理结果,来对 Siri 的 Intents 进行回应的对象

当 Siri 抛过来一个 Intents,Siri 直接过来找 INExtension 对象。INExtension 对象必须可以对 Siri 扔过来的 Intents 对象进行处理,每一种类型的 Intents 都对应着具体处理的类必须去遵循的 Protocol。

Protocol 中的方法分为三种,跟上面的123类似:

  1. 解析 Siri 传来的具体的 Extents 的方法
  2. 让 Siri 去跟用户再次确认的方法
  3. 一边执行,一边让 Siri 给用户显示结果的方法

如下面的图:


请求用户授权 App 使用 Siri

OK,

相关文章

  • SiriKit 学习笔记

    SiriKit 学习笔记 未完成 这是什么东西,干什么用的就不说了撒、 SiriKit 是如何工作的? 目前 Si...

  • 18.iOS10新特性,适配教程,XCode8新特性

    iOS 10 新特性 SiriKit SiriKit的功能非常强大,支持音频、视频、消息发送接收、搜索照片、预订行...

  • Part1: SiriKit 介绍

    在这里放出原文链接地址 Part 1.1 SiriKit 介绍 SiriKit 可以使你的 App 和 App 提...

  • SiriKit

    Siri目前支持以下几个方面:1、语音和视频通话 (VoIP calling)2、发送消息 (Messaging)...

  • SiriKit

    如何使用 SiriKit INExtension 无法调用 UIApplication 只能在 UIViewCon...

  • 我所感兴趣的iOS10新特性

    SiriKit Siri API 的开放自然是 iOS 10 SDK 中最激动人心也是亮眼的特性。SiriKit ...

  • SiriKit使用简介

    介绍SiriKit SiriKit是让你的内容通过Siri展示的一个框架库。当用户向Siri请求特别类型的服务时,...

  • SiriKit 实践

    ios 10 给我们带来了很多惊喜的特性,其中很多为开发者提供的。其中一个就是SiriKit。 Sirikit提供...

  • 详解 SiriKit - SiriKit 教程(Part 2)

    作者:Jameson Quave,原文链接,原文日期:2016-06-20译者:Crystal Sun;校对:nu...

  • SiriKit初探

    SiriKit简介 Siri 是一款苹果 iOS 系统提供的智能语音助手软件,它的全名是 Speech Inter...

网友评论

    本文标题:SiriKit 学习笔记

    本文链接:https://www.haomeiwen.com/subject/ohrmdttx.html