SiriKit框架解析 (一) 基本框架

背景

WWDC 2018 蘋果更新了Siri使其支持Shortcuts功能,中文名“捷徑”,Shortcuts2.2版時改爲“快捷指令”。

快捷指令使用手冊

什麼是快捷指令?

捷徑可讓您使用應用快速完成任務,只需輕點一下或詢問 Siri 即可。
捷徑可以自動化各種任務,例如,獲取前往“日曆”上下一個日程的路線、將文本從一個應用移到另一個應用、生成支出報告等。
基於您使用 iOS 設備的方式,如應用使用以及瀏覽器、電子郵件和信息歷史記錄,Siri 可以建議簡單實用的捷徑,以便快速輕點即可運行。 將捷徑添加到 Siri 後,您可以直接召喚 Siri,然後說出捷徑指令即可運行它。

“快捷指令”應用

除了運行 Siri 建議的簡單捷徑外,您還可以使用“捷徑”應用將現有捷徑或自定捷徑添加到 iOS 設備。 該應用可讓您合併多個應用間的多個步驟,以創建功能強大的任務自動化。 從應用的“捷徑中心”添加捷徑或創建自己的捷徑後,您可以在應用中、iOS 的“今天”視圖、iOS 主屏幕或通過詢問 Siri 來啓動它們。
“快捷指令”應用

簡單說,就是給自己的App設置一個“名字”,然後通過召喚Siri打開你的App或某個功能。

在實際開發中,蘋果爲我們提供了SiriKit框架來實現這一功能。

SiriKit

  • 處理來自Siri或地圖的應用程序服務的用戶請求。
  • 支持Swift/OC語言,iOS10.0+
  • 包含了Intents和Intent UI框架,您可以使用它來實現將服務與Siri和Maps集成在一起的應用程序擴展。
SiriKit支持兩種類型的應用程序擴展:
  • Intents應用程序擴展程序從SiriKit接收用戶請求,並將其轉換爲特定於應用程序的操作。 例如,用戶可能會要求Siri發送消息,預訂或使用您的應用程序開始鍛鍊。
  • 在Intents app extension完成用戶請求後,Intents UI應用程序擴展程序會在Siri或Maps界面中顯示品牌或其他自定義內容。 創建此擴展是可選的。

    SiriKit定義了用戶可以進行的稱爲意圖的請求類型。 相關意圖被分組到域中,以明確您可能在應用中支持哪些意圖。 例如,消息域具有發送消息,搜索消息以及將消息標記爲已讀或未讀的意圖。

您的應用擴展程序很少直接與用戶通信。 Siri和Maps通常會處理與用戶的所有通信,並僅在需要您提供信息時纔會呼叫您的分機。 您可以提供Intents UI應用程序擴展以自定義Siri和Maps顯示的信息,但這樣做是可選的。

Topics

  1. First Steps
  • 請求用戶的權限,以便Siri和地圖可以與您的Intents應用程序擴展進行通信。
  • 在Xcode項目中添加和配置Intents應用程序擴展。
  1. Intents App Extension
    Intents應用程序擴展程序可以響應來自Siri和Maps的用戶請求。
  • 將您的後端服務移動到一個私有框架,以便您的應用程序和您的應用程序擴展使用它們。
  • 爲SiriKit提供能夠處理給定意圖的對象。
  • 解決,確認和處理用戶請求您的應用程序的服務
  • 用於將意圖調度到處理這些意圖的自定義對象的接口。
  • 瞭解您用來構建Intents擴展程序的類。
  1. Intent DomainsSiriKit
    根據可能支持它們的應用程序類型將意圖分組到域中。
  • 啓動呼叫並搜索用戶的呼叫歷史記錄。
  • 發送消息並搜索用戶收到的消息。
  • 在用戶之間發送付款或支付賬單。
  • 創建和管理筆記和待辦事項列表項。
  • 使用快速響應(QR)代碼傳送聯繫人和付款信息。
  • 搜索並顯示照片。
  • 開始,結束和管理健身程序。
  • 預訂並報告其狀態。
  • 管理車門鎖並獲得車輛狀態。
  • 與車輛的CarPlay系統進行交互。
  • 通過Maps應用的幫助,創建並管理餐廳預訂。
  1. Shortcuts
  • 告訴Siri關於用戶在您的應用中執行的操作的快捷方式。
  • 從Siri中刪除您的捐款。
  • 通過提供應用程序操作的快捷方式,讓人們可以輕鬆地將Siri與您的應用程序結合使用。
  • 允許用戶向Siri添加快捷方式,並讓您的應用向用戶建議快捷方式。
  • 顯示Siri錶盤上的快捷方式。
  • 爲用戶提供便捷的方式,通過快捷方式收聽和觀看應用中的媒體內容。
  • 系統可能向用戶或用戶建議的應用中可用的操作可能會添加到Siri。
  • 用戶與涉及intent對象的應用程序之間的交互。
  • 自定義類型的intent參數對象。
  1. Common Objects
  • 通常的數據類型,如字符串和數字類型都在SiriKit中使用。

  • 管理常用的數據類型,如字符串,日期,貨幣,圖像和聯繫人。

  • 將常見類型的數據(如字符串和日期)解析爲應用程序識別的特定值。

  • 識別用戶通知指定的意圖。

  1. Vocabulary
    定義通過Siri提出請求時用戶可以說話的特定於應用的術語。
  • 註冊您的應用程序的自定義術語,並提供如何使用您的應用程序與Siri的示例短語。
  • class 用於註冊可能包含在Siri請求中的用戶特定詞彙表的對象。
  1. Custom UI
  • 創建Intents UI應用程序擴展,以自定義Siri和Maps顯示的界面。
  • 在Siri和Maps界面中呈現自定義內容的方法。
  • 用於隱藏Siri提供的默認接口的部分的方法。
  • 交互對象的參數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章