ドキュメント

予約情報のドネート

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

概要

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

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

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

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

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

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

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

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

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

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

関連項目

最初のステップ

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

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