iOS 10で開発者にAPIが解放されたと話題の音声アシスタント「Siri」。その実態はどんなものなのか。SiriKit、Speech/Messages Frameworkの使い方と併せて、簡単なアプリを作りながら解説します。
2016年9月14日、iOS 10がリリースされました。iOS 10では、「SiriKit」「音声認識」「iMessage拡張」など開発者にとっても、多くの変更が加わりました。本稿では、上記3つの機能の概要と基本的な実装方法について、実際に簡単なアプリを作りながら紹介します。
iOS 10では、「SiriKit」として、アップルの音声アシスタント「Siri」から自分のアプリと、その機能を呼び出せるAPIが提供されました。
例としてアプリのメッセージ送信処理を呼び出してみます。
まずはSiriを起動して「一郎にサンプル(アプリ名)のメッセージを送って」と話し掛けます。そうすると、事前に作成した「サンプル」というアプリのメッセージ送信用画面を呼び出すことができます。
ここでメッセージを入力すると送信ボタンが表示されます。
送信ボタンを押すと、メッセージ送信処理が完了します。
これらの一連の処理の裏側ではアプリ内のメソッドが呼ばれているので、開発者はそのメソッドに処理を記述していくことになります。
ここまででアプリを呼び出す方法を見てきましたが、アプリの呼び出しには制限があります。
今回はメッセージ送信機能を呼び出しましたが、2016年9月現在、SiriKitで使える機能と日本語の文面は以下のようになっています。
| Intents Domains | User intention | 呼び出し例(人の名前は一例。適宜変更して使う) |
|---|---|---|
| VoIP calling | Start an audio call | ○○(アプリ名)で花子に電話 |
| VoIP calling | Start a video call | ○○(アプリ名)で山田にビデオ電話 |
| VoIP calling | Search the user’s call history | ○○(アプリ名)で佐藤さんからの着信を探して |
| Messaging | Send a message | ○○(アプリ名)で一郎にメッセージを送信 |
| Messaging | Search for messages | ○○(アプリ名)で正夫からのメッセージを探して |
| Messaging | Set attributes on a message | ○○(アプリ名)で太郎からのメッセージを読んで |
| Payments | Send a payment to another user | ○○(アプリ名)で昨日の夕食代として鈴木に5000円払って |
| Payments | Request a payment from another user | ○○(アプリ名)でランチ代3000円を田中に請求して |
| Photo | Search for photos | ○○(アプリ名)で去年の夏に撮った写真を探して |
| Photo | Play a photo slideshow | ○○(アプリ名)でスライドショーを開始 |
| Workouts | Start a workout | ○○(アプリ名)でランニングを開始 |
| Workouts | Pause a workout | ○○(アプリ名)のワークアウトを一時停止 |
| Workouts | Resume a workout | ○○(アプリ名)のワークアウトを再開 |
| Workouts | End a workout | ○○(アプリ名)のワークアウトを終了 |
| Workouts | Cancel a workout | ○○(アプリ名)のワークアウトをキャンセル |
| Ride booking | Book a ride | ○○(アプリ名)の車で空港まで行きたい |
| Ride booking | Get the status of a booked ride | ○○(アプリ名)の車はいつ来るの |
この辺りは、日本語以外も含めて、公式ドキュメントが詳しいので、併せてご覧ください。
「iOS 10」の新機能/APIに関する開発者向けTips 100本、クラスメソッドのエンジニアが公開
「iPhone 7」の新機能、エンジニアは“どこ”を評価した?
2Dゲームを例にSwift 2からSwift 3への変更点と移行のポイントを見るCopyright © ITmedia, Inc. All Rights Reserved.