※この記事は AltPlus Advent Calendar 2016 の8日目の記事です。
こんにちは、オルトプラスの iOS プログラマーのアインです。
みなさんは音声操作する技術について興味はありますか?私は iOS プログラマーとして Siri が大好きです。Siri は今まで、サードパーティのアプリでは利用できませんでしたが、iOS10 から SiriKit で使えるようになりました。今年 SiriKit が公開されたので、嬉しくて何か作ろうと思っています。今回は、SiriKit について調べた内容を簡単にまとめます。
はじめに
2016年6月13日、WWDC にて Apple はサードパーティのアプリで利用できる Siri の API として SiriKit を開発者に公開しました。SiriKit によりアプリケーションの挙動を音声で制御できるようになりました。元々 Siri は2011年10月4日より、iOS5 、iPhone4S で公開されました。iOS バージョンがアップグレードする毎に Siri の機能と対応できる言語が増えてきました。この記事を書く時点で、世界で40ヵ国以上の言語に対応できるようになりました。
SiriKit はドメインごとにサポートされる機能が分かれます。各ドメインで、処理できるタスク(ユーザーの意図)をいくつか定義しています。サポートされたドメインにあるタスク以外は処理できません。今の時点では対応できる機能が少なく、残念です。では次に、何ができるのかを見てみましょう。
SiriKit でできること
現在、SiriKit で Siri インタフェースからアプリの機能を開始、制御できるドメインは下記の通りです。
VoIP 通話
アプリにある音声通話、ビデオ通話の機能を開始したり、ユーザーの通話履歴を検索したりできるようになります。
ユーザの意図 | 呼び出し例 |
---|---|
音声通話を始める | (アプリ名)で花子に電話 |
ビデオ通話を始める | (アプリ名)で山田にビデオ電話 |
ユーザの通話履歴を検索する | (アプリ名)で佐藤さんからの着信を探して |
メッセージ交換
アプリにあるメッセージ交換機能でメッセージを送信したり、送信済みのメッセージを検索したりできます。
ユーザの意図 | 呼び出し例 |
---|---|
メッセージを送る | 一郎に(アプリ名)のメッセージを送って |
メッセージを検索する | 正夫から(アプリ名)のメッセージ来てる |
メッセージの属性を設定する | 太郞からの(アプリ名)メッセージを読み上げて |
写真
写真を管理するアプリは写真を検索、表示できます。
ユーザの意図 | 呼び出し例 |
---|---|
写真を検索する | 去年の夏に撮った写真を(アプリ名)で見せて |
スライドショーの形で写真を再生する | (アプリ名)のスライドショーを開始 |
決済
決済機能を提供するアプリは送金、請求を行うことができます。
ユーザの意図 | 呼び出し例 |
---|---|
他のユーザに送金する | (アプリ名)で昨日の夕食代として鈴木に5,000円払って |
他のユーザに支払いを請求する | (アプリ名)でランチ代3,000円を田中に請求して |
ワークアウト
フィットネス活動を管理するアプリはワークアウトの開始、終了、管理ができます。
ユーザの意図 | 呼び出し例 |
---|---|
ワークアウトを始める | (アプリ名)でランニングを開始 |
ワークアウトを中断する | (アプリ名)のワークアウトを一時停止 |
ワークアウトを再開する | (アプリ名)のワークアウトを再開 |
ワークアウトを終える | (アプリ名)のワークアウトを終了 |
ワークアウトを取り消す | (アプリ名)のワークアウトをキャンセル |
配車予約
交通サービスを提供するアプリはレンタカーを予約し、関係する情報を提供できます。
ユーザの意図 | 呼び出し例 |
---|---|
レンタカーを借りられる店舗を調べる(Maps のみ) | 例なし |
レンタカーを予約する | (アプリ名)の車で空港まで行きたい |
予約状況を調べる | (アプリ名)の車はいつ来るの |
CarPlay
自動車製造会社が iOS アプリで車輌を管理する場合 Siri を通して車輌環境を管理できます。
ユーザの意図 | 呼び出し例 |
---|---|
音声源を変更する | 音源を USB に変更 |
気象制御の設定を変更する | エアコンをオンにして |
デフロスタの設定を変更する | 後部デフロスターをオンにして |
車輌の設定をプロファイルに保存する | 今の設定をドライブ旅行というプロファイル名で記憶して |
車輌の設定をプロファイルから復元する | プロファイル1を使用する |
座席温度を変更する | 前の助手席の座席ヒーターをオン |
聴取する放送局を変更する | 88.5FM に合わせて |
レストラン予約
レストラン予約機能を提供するアプリは予約を行ない、その管理をすることができます。
ユーザの意図 | 呼び出し例 |
---|---|
現在の予約内容を調べる | 例なし |
予約に関わっているユーザに関する情報を取得する | 例なし |
予約の時刻を指定するよう求める際に使う、デフォルト値を取得する | 例なし |
予約可能な時刻を取得する | 例なし |
あるユーザについて実際に予約をおこなう | 例なし |
終わりに
SiriKit で対応できる機能はまだ少ないですが結構面白いですよね!
そろそろ忘年会の季節ですね。自分用に店を検索、電話できるアプリを作ってみるのも楽しいかもしれませんね。
次回はサンプルを作ってみたいなと思います。