オルトプラスエンジニアの日常をお伝えします!

SiriKit でできることは何か?

※この記事は 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 で対応できる機能はまだ少ないですが結構面白いですよね!
そろそろ忘年会の季節ですね。自分用に店を検索、電話できるアプリを作ってみるのも楽しいかもしれませんね。
次回はサンプルを作ってみたいなと思います。