SiriKit 描述

Lastdays發表於2016-11-24
iOS 10,其中一個亮點,SiriKit。讓App與Siri之間可以通過Extension來進行互動。

看一下相關術語:

  • Intent:意圖
  • Domain:領域

簡介

Siri通過使用者語音識別出Intent,App通過Intent做出對應的反應。7個領域共包含22個意圖,Siri現在只支援22個意圖:

  • 通話服務:打電話、查通話記錄
  • 訊息簡訊:發資訊、搜尋資訊
  • 照片搜尋:搜尋照片、播放照片幻燈片
  • 個人支付:收付款
  • 叫車服務:檢視附近車輛、訂車
  • 健身任務:任務開始、暫停、繼續、取消、結束
  • 車載控制:切換音訊、空調、除霜等等

App若有相應的能力,可以通過Siri來進行一些互動

互動

通過開發App Extension進行與siri的互動,接收Siri分手確認後的Intent,根據Intent來做邏輯處理
並支援在siri上顯示自定義UI

兩個框架:

  • Intents框架,用於開發服務型擴充套件“Intents Extension”。在此擴充套件中,完成與Siri的互動,並處理相應的工作。
  • IntentsUI框架,用於開發UI型擴充套件“IntentsUI Extension”。在此擴充套件中,自定義Siri中內嵌的UI介面,展示處理結果。

Intents

  • Intent物件:對應INIntent類,22個意圖對應22個INIntent的子類
  • Handler物件:處理來自Siri的Intent,一個Handler對應多個Intent,一個Intent只由一個Handler處理。
  • IntentHandling協議:22個意圖對應22個協議,每種協議控制處理Intent的各個過程
  • Response物件:依然是各自Intent對應各自Response。代表Handler階段的處理結果

IntentHandling

處理來自Siri的Intent,三個階段

  • 一:解析階段,此階段的方法均已resolve開頭
  • 二:確認階段,此階段的方法以confirm開頭
  • 三:處理階段,完成我們對應的服務

sirikitsirikit11111111

IntentsUI

還是使用UIKit,可以理解為在siri可以自定義UI,但是一定要注意,我們的自定義介面是無法接收和響應任何的touch資訊,所以說,緊緊就是做展示作用。

Intents UI Extension 入口為實現INUIHostedViewControlling協議的VC,

INUIHostedViewControlling協議:

官網給出的生命週期很詳細:

siri2sirikitsirikitsirikit

資料

22個意圖對應的描述

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

SiriKit 描述 SiriKit 描述

相關文章