イベントおよび遷移

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

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

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

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

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

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

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

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

フローのシステム遷移

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

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

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

    「システム遷移」サブセクションが表示されます。

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

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

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

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

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

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

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

イベント・リスニングおよびトリガー

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

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

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