インテントは、何かを行う方法を記述するメッセージ オブジェクトです。インテントは、次の 2 つの方法のいずれかで使用できます。
- インテントのフルフィルメントを提供する
- Google アシスタントによるインテントのフルフィルメントをリクエストする。
インテントにフルフィルメントを提供するプロセスは、Dialogflow でビルドするデベロッパーと Actions SDK を使用してビルドするデベロッパーで異なります。どちらの場合も、インテントの名前とフルフィルメント Webhook の URL を指定します。これにより、インテントに一致するユーザークエリをサポートできることが Actions on Google に伝えられます。
インテントのフルフィルメントをリクエストするには、アシスタントに応答する際に possibleIntents
オブジェクトでインテントを指定します。後続のフルフィルメントへのリクエストで、処理されたインテントの結果がアシスタントから返されます。詳細については、ヘルパーの使用状況の概要をご覧ください。
一般的なインテント
次の表に、アシスタントが処理をリクエストするインテントを示します。
インテントの名前 | 使用状況 | Dialogflow イベント |
---|---|---|
actions.intent.MAIN |
必須: すべてのアクション パッケージにおいて、ユーザーが会話を始めるためのエントリ ポイントとなるインテントを 1 つだけ宣言する必要があります。 | WELCOME または GOOGLE_ASSISTANT_WELCOME |
actions.intent.TEXT |
ユーザー リクエストの生のテキスト表現を取得します。通常はユーザーと会話する際に使用します。 | |
actions.intent.CANCEL |
このインテントは、アクション パッケージで CANCEL インテントを受け取ることを宣言した場合に受け取ります。ユーザーが「終わり」のようなグローバルなキャンセル コマンドを発すると、次のリクエストでこのインテントがフルフィルメントに送信されます。そのため、このリクエストに対して最終的なメッセージで応答し、フルフィルメント ロジックでクリーンアップ処理を行うことができます。 | actions_intent_CANCEL |
actions.intent.NO_INPUT |
このインテントは、アクション パッケージで NO_INPUT インテントを受け取ることを宣言した場合に受け取ります。ユーザーが入力要求に応答しないと、次のリクエストでこのインテントがフルフィルメントに送信されます。 | actions_intent_NO_INPUT |
ヘルパー
次の表に、アシスタントに処理をリクエストできる、サポートされているヘルパーを示します。
インテントの名前 | 使用状況 | Dialogflow イベント |
---|---|---|
actions.intent.PERMISSION |
ユーザーの氏名、おおまかな現在地、正確な現在地、またはこれら 3 つすべてを取得します。 | actions_intent_PERMISSION |
actions.intent.OPTION |
リストまたはカルーセル UI から、選択されたアイテムを受け取ります。または、ユーザーがリストまたはカルーセル UI から選択しなかった場合は、リストまたはカルーセル UI 内のキーと一致する音声入力またはテキスト入力を受け取ります。 | actions_intent_OPTION |
actions.intent.DATETIME |
ユーザーから日時の入力を取得します。 | actions_intent_DATETIME |
actions.intent.SIGN_IN |
ユーザーのアカウントをリンクするためのアカウント リンク フローを要求します。 | actions_intent_SIGN_IN |
actions.intent.PLACE |
ユーザーから住所または保存場所を取得します。 | actions_intent_PLACE |
actions.intent.CONFIRMATION |
ユーザーから確認を取得します(例: 「はい」か「いいえ」で答える質問)。 | actions_intent_CONFIRMATION |
actions.intent.NEW_SURFACE |
別のアシスタント サーフェスを引き継ぐ権限をユーザーに求めます。 | actions_intent_NEW_SURFACE |
組み込みインテント
組み込みインテントは、料理の注文、乗り物の予約、口座残高の確認など、ユーザーが行おうとしているタスクや探している情報を表現する一般的な方法をモデル化します。詳しくは、組み込みインテントのリファレンスをご覧ください。
その他のインテント
ほとんどの会話型アクションは、一般的なインテント、ヘルパー、レスポンスを組み合わせて構築されています。ただし、トランザクションや日次更新などの追加機能が組み込まれたアクションは、これらの機能に固有のインテントにアクセスできます。
トランザクション ヘルパー
次の表に、アシスタントにリクエストできる購入の処理に関連するヘルパーを示します。このようなインテントやその他の関連するインテントの実装方法について詳しくは、トランザクション機能のドキュメントをご覧ください。
インテントの名前 | 使用状況 | Dialogflow イベント |
---|---|---|
actions.intent.DELIVERY_ADDRESS |
ユーザーが入力した配送先住所を取得します。 | actions_intent_DELIVERY_ADDRESS |
actions.intent.TRANSACTION_REQUIREMENTS_CHECK |
取引の要件がすべて満たされているかどうかを確認します。 | actions_intent_TRANSACTION_REQUIREMENTS_CHECK |
actions.intent.TRANSACTION_DECISION |
取引を行うかどうかをユーザーに確認します。 | actions_intent_TRANSACTION_DECISION |
actions.intent.DIGITAL_PURCHASE_CHECK |
ユーザーのトランザクションの構成を検証します。トランザクションが失敗するユーザーにデジタル商品を提供できないようにする場合に使用します。 | actions_intent_DIGITAL_PURCHASE_CHECK |
actions.intent.COMPLETE_PURCHASE |
購入リクエストを開始します。トランザクションが成功したかどうかと、どのように失敗したかを示す購入結果が返されます。 | actions_intent_COMPLETE_PURCHASE |
ユーザー エンゲージメント インテント
次の表に、ユーザー エンゲージメント機能に関連するインテントを示します。こうしたインテントやその他の関連インテントの実装方法について詳しくは、ユーザー エンゲージメント機能のドキュメントをご覧ください。
インテントの名前 | フルフィルメントの提供 | フルフィルメントの要求 | 使用状況 | Dialogflow イベント |
---|---|---|---|---|
actions.intent.REGISTER_UPDATE |
X | 更新情報に登録するようユーザーに求めます。 | actions_intent_REGISTER_UPDATE |
|
actions.intent.CONFIGURE_UPDATES |
X | ユーザーが更新情報の登録を行おうとすると、このインテントを受け取ります(REGISTER_UPDATE インテントを送信する必要があります)。 | actions_intent_CONFIGURE_UPDATES |
カスタム インテント
ユーザーがより効率的に作業を行えるように、独自のインテントを作成して会話へのショートカットを定義できます。これらのインテントは独自の名前空間にあります。ユーザーがインテントをトリガーする方法を定義します。アクション パッケージはインテントをサポートできる唯一のインテント パッケージです。
詳細については、Dialogflow でアクションを定義するまたは Actions SDK でアクションを定義するをご覧ください。アクション パッケージの詳細については、アクション パッケージのリファレンスのドキュメントをご覧ください。
スマートホーム インテント
スマートホーム アクションを作成する場合は、インテントのサポートを若干異なる方法で定義します。詳しくは、スマートホーム インテントのドキュメントをご覧ください。