Siri Shortcutsまとめ

Siri Shortcutsについて体系的にまとまっている日本語記事が少なかったため、調べるときに分かりやすいようにメモ。

参考記事にとても参考になったサイトへのリンクを貼ってあるので、そこから飛んで記事を見ることで、大まかに理解できる気がします。

SiriKit(iOS10~)

iOS10以降、SiriKitフレームワークが追加されている。

SiriKitはIntents app extensionとIntents UI app extensionという2つのapp extensionをサポートしている。

  • Intents app extensionはユーザのRequestを受け取ってメッセージを表示したりする
  • Intents UI app extensionは独自UIを表示するときに使用する

Siri Shortcuts(iOS12~)

iOS12から、Siri Shortcutsという機能が追加されている。

この機能では、「ショートカット」として複数のアクションを組み合わせることで、ユーザの定型的な作業を楽にすることができる。

このShortcutsをSiriから呼び出すことで、Widgetなどと同様にアプリを開かなくても、アプリの機能を利用することができる。

ショートカットの登録方法

以下の2つの方法で登録することができる。

  • アプリ内部から呼び出す(INUIAddVoiceShortcutButtonを使用)
  • Shortcutsのギャラリーから登録(アプリ内でINVoiceShortcutCenter.shared.setShortcutSuggestionsのメソッドでINShortcutを登録)

donation

INInteractionのdonateメソッドを使用することで、Spotlight検索にショートカットを表示することができる。

donateではSpotlight検索にshortcutsへの登録処理自体を行うわけではないが、ユーザがよく行う行動を簡単に行うことができる。

iOS13でできること

iOS13では、Siri Shortcuts内に独自パラメータを持たせ、より対話的にSiri Shortcutsを利用する事が可能になっている。

Intentsの実装方法

この辺りは他の記事やAppleのSample(Soup Chef)が大変参考になるので、本記事内では割愛します。

Intents UI

Shortcutsで表示されるIntentsをカスタムなUIとする機能。

Intents作成時に「Incluede UI Extension」にチェックを入れるか、「Intents UI ExtensionのTargetを追加」することで使用することができる。

Sample

Soup ChefというSampleコードがあるので、ここからSampleを試すことが出来る。

参考資料

書籍

iOS12 Programmingの中に、Siri Shortcutsの章があり、体系的にまとまっていて大変分かりやすかったです。

peaks.cc

OS対応の本は、その年以降も参考になると感じたので、iOS13についても体系的に変更点を把握し、検索方法を知っておくことが重要だと感じました。