概要
SiriKitが気になったのでリファレンスを見てちょっとまとめてみました。
(参考:SiriKitリファレンス)
現状使える領域が特定されており、領域によっては活用が少し難しいかもしれません。
以下、まとめです。
Siriに対応するための必須事項
- Intents extensionの作成
- Info.plistでサポートするIntentsを指定
UI
必須ではないが、Siri応答のUIを作成したい場合はIntents UI extensionを作成する。
処理の流れ
- Siriがユーザーの音声に沿ったIntent Objectをextensionに送信。
- 自作で用意したIntents extension内でIntent Objectの情報を元にhandlerを指定、responseを作成。
対応できる領域
-
指定できるIntentの領域は6つ
(音声・ビデオ通話、メッセージ、支払い、写真、ワークアウト、乗車ブッキング) -
それぞれ対応できるinteractionの数が決まっている。
(対応可能なinteractionの数は合計で17個。) -
(CarPlayも5個のinteractionに対応できるが、ここではかつあい。)
対応できるinteractionsの詳細
【Audio or video calling(through VoIP)】(3 interactions)
- Start an audio call
- Start a video call
- Search the user’s call history
【Messaging】(2 interactions)
- Send a message
- Search for messages
【Payments】(2 interactions)
- Send a payment to another user
- Request a payment from another user
【Searching photos】(2 interactions)
- Search for photos
- Play a photo slideshow
【Workouts】(5 interactions)
- Start a workout
- Pause a workout
- Resume a workout
- End a workout
- Cancel a workout
【Ride booking】(3 interactions)
- Get a list of available rides
- Book a ride
- Get the status of a booked ride
まとめ
- 対応できる領域が6つに限定されているので使うシーンを選ぶ。
- それぞれの領域で対応できるinteractionが指定されており、合計は17個。
- 最小限での対応はExtensionの作成とInfo.plistでの指定だけなので、そこまで手間ではなさそう。
おまけ
調べている中で個人的に気になっているMapsについても書いてありその内容を見ていると、Mapsへの対応も上記のIntentsの仕様に準拠していてかつ、Ride bookingの部分にのみに記述があるため、Mapsに対応できる領域はRide bookingだけなのでは。。
(ここに関しては、全ての情報が追えている訳ではなく確定とはまだ思えないので情報が増えたら追記します。)