イベントおよび遷移

ビジュアル・フロー・デザイナで開発されたダイアログ・フローでは、イベントを使用して会話をフローまたはフロー内の状態にルーティングします。

スキル・レベルでは、イベントは次のタイプに分類されます。

  • インテントこれらのイベントは、スキルのインテントに対応します。このようなイベントは、ユーザー入力が特定のインテントに解決されたときに発生します。
  • 組込み。これらは、未解決のインテント、回答インテント、ダイアログ・エラーなどの一般的なユース・ケースの標準イベントです。
  • 「フロー・アクションの終了」。これらは、自分自身を定義し、エンド・フロー状態のアクション(エンド・フロー・コンポーネントを使用する状態と、フローを暗黙的に終了する状態の両方)によってトリガーできるイベントです。

フロー・レベルでは、イベントは次のタイプに分類されます。

  • システム遷移。これらは、未解決のユーザー入力、必要な認可、エラーなどの一般的なユース・ケースの組込みイベントです。
  • カスタム遷移。これらは、自分自身を指定でき、通常はコンポーネント遷移アクションに割り当てられるイベントです。フローがそのような遷移に達すると、対応するイベントが起動され、イベントにマップされた状態が呼び出されます。

メイン・フローの組込みイベント

イベント 発射時 使用方法
スキルの開始 スキルが初めて開始されるとき。 カスタム・フローにマップして、バックエンド・システムの初期化や「ヘルプ」メニューの表示などを行います。
ダイアログ・エラー 会話中にコンポーネントによってエラーがスローされた場合。このイベントは、別のフローにエラーがあり、そのフローの「ダイアログ・エラー」システム遷移がマップされていない場合にも起動できます。 カスタム・エラー処理フローにマップします。このイベントが起動され、マッピングがない場合、現在のフローは終了し、スキルはデフォルトのエラー・メッセージ(Oops! I’m encountering a spot of trouble)を出力します。
回答インテント 回答インテントが解決されたとき。 回答インテント専用のカスタム・フローにマップします。
未解決インテント ユーザー・インテントが未解決の場合。 カスタム・ヘルプ・フローにマップします。
デジタル・アシスタント・ヘルプ ユーザーがヘルプのリクエストを表明した場合。これは、ユーザーがデジタル・アシスタントを介してスキルにアクセスし、スキルがデジタル・アシスタントの現在のコンテキスト内にある場合にのみ適用されます。 カスタム・ヘルプ・フローにマップします。
デジタル・アシスタントのようこそ ユーザーがデジタル・アシスタントとの連絡を開始したとき。これは、ユーザーがデジタル・アシスタントを介してスキルにアクセスするために明示的な起動を使用したが、インテントを示していない場合にのみ適用されます。 カスタムのようこそフローまたはヘルプ・フローにマップします。
ノート

デジタル・アシスタントのヘルプおよびデジタル・アシスタントのようこそイベントにフローを指定すると、デジタル・アシスタントのヘルプおよびunresolvedIntentシステム・インテントの動作が完全に上書きされるわけではありません。その動作を普遍的に変更する場合は、デジタル・アシスタントの設定で変更します。デジタル・アシスタントのシステム・インテントの状態の指定を参照してください。

フローのシステム遷移

フローごとに、システム遷移を利用して、ダイアログ・エラーや順序不良メッセージなどのイベントを処理する場所を定義できます。

特定のイベントの処理に使用される状態を定義するには:

  1. フローの「構成」タブで、下にスクロールして「イベント・マッピング」セクションを展開します。

    「システム・トランジション」サブセクションが表示されます。

  2. マップするイベントについて、マップ先の状態を選択します。

    この状態は通常、イベントを処理するためのユーティリティ・フローを指す呼出しフロー・コンポーネントです。別のフローからの1つのフローの起動を参照してください。

フロー内のシステム遷移としてマップできるイベントを次に示します。

イベント 発射時 使用方法
ユーザーを認可 「認可が必要」の状態がtrueに解決される状態に達した場合。 認可フローをコールする呼出しフロー・コンポーネントにマップします。
ダイアログ・エラー 会話で予期しないエラーが発生しました。

エラー処理のためにフローをコールする呼出しフロー・コンポーネントにマップします。

このイベントがマップされておらず、フローでエラーが発生した場合、ダイアログ・エラーメイン・フローの組込みイベントにマップされたエラー処理フローが起動されます。ダイアログ・エラーがフローにもメイン・フローにもマップされていない場合、エラーが発生すると、スキルはデフォルトのエラー・メッセージ(Oops! I’m encountering a spot of trouble)を出力します。

順不同メッセージ ユーザーは、現在のメッセージからではなく、会話内の前のメッセージからオプションを選択します。 順不同メッセージを処理するために指定したフローをコールする呼出しフロー・コンポーネントにマップします。
予期しないユーザー入力 ユーザーは、メッセージに指定されているオプションのいずれかを選択するのではなく、テキスト入力を提供します。 予期しない入力を処理するために指定したフローをコールする呼出しフロー・コンポーネントにマップします。

イベントのリスニングとトリガー

ネストされたフローがある場合(サブフローを含むフロー):

  • currentフローは、組込みおよび終了フロー・アクション・イベントをリスニングし、トリガーします。
  • 呼出しフローは、現在のフローによってトリガーされる終了フロー・アクション・イベントのみをリスニングします。その後、終了フロー・アクション・イベントをトリガーしたサブフローが終了すると、トリガーされたイベントに対して親フローが動作します。

    この主な例は、サブフローの「アクション」プロパティで終了フロー・アクション・イベントが指定されている場合です。