Siri
Siri を使用すると、音声、タッチ、または自動化を使用して、人々が日常のタスクをすばやく簡単に実行できます。
SiriKit (SiriKit) を使用してあなたのアプリがサポートするタスクとアクションを定義すると、人々はアプリが実行されていないときでも Siri を使用してそれらを実行できます。あなたがアクセサリメーカーの場合は、HomeKit または AirPlay 2 と統合することで、人々が Siri を使用してあなたのアクセサリを制御できるようにできます。人々が Siri を使用してあなたのアプリやアクセサリを操作する方法のいくつかを以下に示します。
Siri は、iPhone、iPad、Mac、Apple Watch、HomePod、AirPods 上のあなたの製品と連携するため、人々はほぼどこでも Siri を使用できます。
あなたのアプリのタスクを Siri で利用できるようにすると、ユーザー体験をカスタマイズする機会がいくつかできます。基本的なレベルでは、あなたのビジネス要件を実装するためにサポートする毎日のタスクとアクションのフローと機能をカスタマイズします。ユーザー体験全体でこの機能を強化するには、あなたの会社のコミュニケーションのスタイルとトーンを反映するダイアログを作成し、あなたのアプリの視覚的スタイルを Siri インターフェイスに組み込むカスタム UI を設計します。
あなたのアプリを Siri と統合する作業に取りかかるときは、あなたのアプリが可能にするアクションを評価し、人々が音声操作なしであなたのアプリをどのように使用するかを学びます。次に、以下の手順を検討してください。
あなたのアプリの主要なタスクを特定
タスクは、あなたのアプリと Siri の統合の中核です。SiriKit は、アプリがサポートするタスクを表すために intent (意図) という用語を使用して、タスクを実行する人の意図のアイデアに基づいてビルドしています。あなたのアプリと Siri の間の通信は、intent (つまり、タスク) に基づいており、あなたのアプリは人々の実行を支援します。
SiriKit は、メッセージの送信、友人への電話、トレーニングの開始などの一般的なタスクを表す system intents (システムの意図) を定義し、関連する意図をドメインにグループ化します。domain (ドメイン) とは、メッセージ、通話、トレーニングなど、Siri が話し方を知っているタスクのカテゴリです。ドメインの完全なリストと、iOS と watchOS がサポートする各ドメインのアクションについては、システムの意図 を参照してください。
可能であれば、SiriKit が定義する意図を利用してください。システム提供の意図を使用すると、体験をカスタマイズする機会をあなたに提供しながら、作業を容易にすることができます。ただし、システム定義の意図によって表されないタスク (食事の注文や食料品の買い物など) をあなたのアプリが提供する場合は、custom intent (カスタムの意図) を作成できます (ガイダンスについては、カスタムの意図 を参照してください)。
意図を詳しく見る
人々が Siri を使用して質問したりアクションを実行したりすると、Siri は言語処理と意味分析を行い、人々の要求をあなたのアプリが処理する意図に変換します。例外は、人々がショートカットを引き起こすために作成する個人的なフレーズです。人々が正確なフレーズを話すと、Siri は追加の処理や分析を行わずにそれを認識します。
設計者としてのあなたの主な仕事は、明確で実用的なコンテンツを提示することで、これにより、人々が Siri を操作してあなたのアプリで何かを成し遂げるのを明確にし、合理化するのに役立ちます。これらの操作の一部は、あなたのアプリと SiriKit が意図の処理について通信しているときに発生するため、関連する SiriKit の用語を理解しておくと役に立ちます。高い水準では、あなたのアプリは解決、確認、処理の 3 つの相で意図を処理します。
第1に、あなたのアプリと SiriKit は、解決相で要求が何を意味するかについて合意しなければなりません。この相は、あなたのアプリに必要なすべてのものを人々に尋ね、必要に応じて追加情報や説明を求める時間と考えることができます。たとえば、人々が Amy にメッセージを送信するように要求し、Amy という名前の連絡先が複数ある場合、メッセージアプリでは Siri に、どの Amy を意味するかを尋ねることができます。メッセージ受信者の名前など、意図に関連する詳細は パラメーター と呼ばれます。解決相では、アクションを完了するために必要なパラメーターとオプションのパラメーターを指定できます。開発者向けガイダンスについては、意図のパラメーターの解決 (Resolving the Parameters of an Intent) を参照してください。
confirm (確認) 相と呼ばれる 2 番目の相は、意図を処理するために必要なすべての情報が揃ったときに発生します。この相では、タスクを完了したいことを確認する機会を人々に与えることができます。たとえば、財務的に影響を与えるタスクには確認が必要です。ユーザーの同意を求めるだけでなく、何らかの理由であなたのアプリがアクションを完了できない場合は、この相でエラーを提示できます。たとえば、集荷場所が閉まっているときにアプリを使用して商品の集荷を注文した場合、アプリはそのアクションを今すぐ完了できない理由を説明できます。確認相でこのエラーを提示することで、商品の代金を支払って要求が失敗したことを知るまで人々を待たせることを回避できます。開発者向けガイダンスについては、意図の詳細の確認 (Confirming the Details of an Intent) を参照してください。
第 3 に、あなたのアプリはタスクを実行し、handle (処理) 相で実際に行ったことを SiriKit に伝えます。要求を処理するためにあなたのアプリが何をしたかを人々に伝える視覚的情報とテキスト情報の両方を提供できます。たとえば、人々がコーヒーを注文できるアプリは、注文を説明する領収書を提示します。Siri は、あなたのアプリが提供する情報を話したり、表示したりできます。開発者向けガイダンスについては、意図の処理 (Handling an Intent) を参照してください。
アクションに関する情報を提供し、提案をサポートする
ほとんどのアプリは多数のアクションを可能にしますが、人々は定期的にそれらのほんの一部しか実行しません。人々の定期的な行動についてシステムに伝え、将来実行したいと思われる新しい行動について説明すると、Siri は、人々が興味を持ちそうな場合に、両方のタイプの行動のショートカットを 提案 できます。
たとえば、コーヒーに関するアプリの場合、最も頻繁に行われるアクションはコーヒーを注文することであり、それほど頻繁ではないアクションには、コーヒー豆を購入することや新しいコーヒーショップを見つけることが含まれます。この例では、コーヒーアプリは、コーヒーを注文する アクションに関する情報を共有し、平日の朝など、人々が通常そうしたいときに Siri はこのアクションのショートカットを提案できるようにします。アプリはまた、人々がまだ実行していないが興味を持っているアクション (お気に入りのコーヒーの新しい季節のバリエーションを注文するなど) について Siri に伝えることもできます。これにより、Siri はこのアクションのショートカットを提案できます。
Siri は、場所、時刻、動きの種類 (ウォーキング、ランニング、運転など) のようなシグナルを使用して、適切な時間と場所をインテリジェントに予測し、あなたのアプリからのアクションを提案できます。あなたのアプリが共有する情報と人々の現在のコンテキストに応じて、Siri はロックスクリーン、検索結果、または Siri の文字盤 にショートカットの 候補 を表示できます。Siri はまた、いくつかの種類の情報を使用して、システムアプリがサポートするアクションを提案することもできます。たとえば、カレンダー を使用してあなたのアプリが共有するイベントを追加するなどです。いくつかのシナリオ例を以下に示します。
あなたのアクションに関する情報をシステムに提供すると、人々はショートカットアプリを使用して、サポートするシステムとカスタムの意図用のショートカットを作成することもできます。ガイダンスについては、ショートカットと提案 を参照してください。
優れた音声体験のデザイン
優れた音声インターフェースは、何を言えばよいかわからない場合でも、希望する結果が得られるという自信を人々に与えるのに役立ちます。Siri は、システムが提供する意図とカスタムの意図のさまざまな音声体験をサポートしています。システムの意図により、Siri はあなたに代わって自然言語処理を行い、人々がさまざまな会話形式であなたのアプリを操作できるようにします。カスタムの意図を使用すると、あなたのアプリは、Siri がまだ認識していないタスクを人々が実行できるように支援します。これにより、音声体験の異なるタイプのサポートが実現します。カスタムの意図を使用すると、会話ダイアログをカスタマイズする機会が増えますが、人々は操作を引き起こすために正確なフレーズを作成して話す必要もあります。
デザイナーとして、両方のタイプの会話体験を強化し、人々が長いやり取りをせずに自分の望むものを指定できるようにする方法がいくつかあります。
システム提供の意図の場合、不可欠の情報を提供し、会話中に出てくるアプリ固有の用語を定義することで、Siri は人々が達成したいアクションについて人々と通信できるようにします。Siri が話すための追加のダイアログを作成する必要はありません。Siri は、システムが定義するドメイン内のアクションを既に認識しており、人々がそれらについて話す方法をさまざまに理解しているからです。たとえば、メッセージする意図の解決相で受信者の名前を確認する必要がある場合、必要なパラメーター値が欠落していることを示すだけで、Siri は送信者に "誰に送信しますか?" と尋ねます。
システム提供の意図用のカスタムダイアログを作成しなくても、他の方法で音声体験を強化できます。たとえば、人々がジムに入るときに Siri に"Your Music App を再生して" と頼んだ場合、トレーニングプレイリストを再生して応答できます。
カスタムの意図をサポートすると、人々は個人的な呼び出しフレーズを使用してアクションを開始できます。人々が自分のフレーズを正確に話さない場合、Siri は意図を引き起こしません。人々が使用する、記憶に残るフレーズを提案することはできますが、主な仕事は明確で直接的な会ダイアログを書くことです。多くの場合、フォローアップの質問の形で、人々ができるだけ少ないステップでアクションを達成できるようにします。
たとえば、コーヒーアプリは、人々がお気に入りのコーヒーを再度注文するために使用できるフレーズとして、コーヒーを注文 を提案します。通常、人々が [コーヒーを注文] を使用してさまざまなサイズのカプチーノを注文するシナリオでは、コーヒーアプリは、この知識に基づいて構築されたカスタムダイアログ "カプチーノのサイズは?" をフォローアップできます。他のタイプの行動については、より自由回答形式の質問を使用すると、人々がタスクを効率的に達成するのに役立ちます。たとえば、人々が カートに追加 と言って食料品の買い物アクションを引き起こした場合、食料品の買い物アプリは "OK、何が欲しいですか?" というフォローアップを行うことができます。
人々がさまざまな状況で Siri を使用していることを認識
人々は車に乗っているとき、トレーニング中、デバイスでアプリを使用しているとき、または HomePod を操作しているときに、Siri を使用して何かを行うことができます。 人々が Siri を使用してあなたのアプリのアクションを実行しているコンテキストを常に把握しているわけではないため、人々が何をしていても素晴らしい体験を提供できるためには、柔軟性が重要です。
現在のコンテキストに関係なく、人々と通信するには、Siri が音声と視覚の両方で提供できる情報を提供する必要があります。音声とスクリーンを基礎としたコンテンツの両方をサポートすることで、Siri は、現在の状況で人々にとって最適な通信方法を決定できます。たとえば、人々が AirPods を使用しているときに "Hey Siri" と言うと、Siri は AirPods を介して人々に話しかけます。
音声のみの状況では、Siri は、他の状況ではスクリーンに提示される情報を口頭で説明します。注文を完了する前に人々に操作を確認する必要がある食品配達アプリを考えてみましょう。音声のみのシナリオでは、Siri は "合計金額は 15 ドルです。注文品がドアに届くまでに 30 分かかります。注文しますか?" と言います。対照的に、人々がコストと配送の情報をスクリーン上で確認できる場合、Siri は単に "注文しますか?" と言うだけかもしれません。カスタムの意図をサポートする場合、これらのタイプのスクリーン上の情報を説明する音声のみのダイアログを提供する責任があります。
リソース
関連
開発者用文書
SiriKit (SiriKit)