記事

予約のドネート

Appで行われた予約をSiriに知らせます。

概要

Siriイベントサジェスチョンにより、Appで行われた予約がシームレスにシステムと統合されるので、カレンダー、マップ、Spotlightやロック画面など、特定のAppや機能と情報を共有できます。これらのAppや機能はこの情報を使い、ユーザーにフライトのチェックインを行うよう知らせたり、予約したホテルまでの経路を表示したりするほか、レンタカーの返却を案内するなど、様々なオプションを提供できます。サポートされるすべての予約タイプ(航空券、ホテル、レンタカーなど)の一覧については、Siriイベントサジェスチョンを参照してください。SiriはAppがドネートする情報を使って、Appで行われた予約を学習していきます。

適切なタイミングで予約をドネートする

ユーザーがAppで予約を表示するたびに予約をドネートします。例えば、ユーザーが新しい予約を作成した時は、ユーザーがその情報を表示して確認した後に予約をドネートします。ユーザーが予約を表示した時に、1つの予約について1回だけドネートを行います。ユーザーが再びAppを使って予約を表示した場合は、もう1回ドネートします。例えば、ユーザーがWebサイトを使って予約し、その後Appで予約を表示したら、ドネートを行います。ただし、ユーザーがアクションを実行した時に、1つのアクションについて複数のドネートを行わないでください。

インタラクションをドネートする

Appは、INGetReservationDetailsIntent(英語)クラス、INGetReservationDetailsIntentResponse(英語)クラス、および関連するINReservation(英語)サブクラスを使い、予約に関する情報が含まれるINInteraction(英語)オブジェクトをドネートします。

Intentをドネートするには、IntentおよびIntentレスポンスクラスのインスタンスを作成し、パラメータ値を設定します。ユーザーがSiriに追加する音声フレーズを提案するため、IntentのsuggestedInvocationPhrase(英語)プロパティを、フレーズを含む文字列に設定します。

Intentを作成した後、INInteraction(英語)のインスタンスを作成し、Intentを渡してそのdonate(completion:)(英語)メソッドを呼び出します。Intentを渡すことで、予約に関する情報がSiriに伝わります。

ユーザー操作をハンドルする

チェックイン可能な予約機能を提供するAppは、ロック画面でのショートカットの提案機能を組み込んで、ユーザーがAppを起動してチェックインを行えるようにすることができます。ユーザーアクティビティや関連する日時の情報が含まれるINReservationAction(英語)オブジェクトの配列を使って、適切な予約クラスを作成します。Siriは、予約やチェックインの情報に応じてAppを起動する機能をユーザーに提供できます。例えば、航空券予約Appでは、出発時刻の24時間前からフライトのチェックインができる機能を提供できます。

ユーザーが以前ドネートされた予約をカレンダーやSpotlightで操作した後に、SiriはINInteraction(英語)オブジェクトが含まれるNSUserActivity(英語)を使ってAppを起動することができます。同様に、ユーザーがロック画面でチェックインに関するショートカットの提案を操作した時に、SiriはINReservationAction(英語)オブジェクトに含まれる、以前ドネートされたNSUserActivity(英語)を使ってAppを起動することもできます。Appはユーザーの操作に関する情報を使って自身を構成し、特定の予約に関連する情報を表示します。例えば、ユーザーのフライト情報を表示し、次のフライト用のチェックインボタンを提示することができます。

関連項目

最初のステップ

Siriイベントサジェスチョンを統合する(英語)

Siriに予約の詳細情報を共有してシステムと緊密に統合します