呼び出しモデルを構築する

呼び出しモデルでは、ユーザーがプロジェクト内のアクションを呼び出す方法を指定します。ユーザーがアクションを呼び出すと、会話モデルで定義したアクションとの会話が開始されます。呼び出しは次の方法で定義できます。

  • メイン呼び出し - これは、Actions プロジェクトで唯一の呼び出しです。ユーザーは「OK Google, <表示名> に話しかけて」に似たフレーズをこのインテントに話しかけます。通常は、ウェルカム メッセージでユーザーに挨拶します。

  • ディープリンク呼び出し - カスタム インテントでトレーニング フレーズを定義して、ユーザーが会話の特定の部分にディープリンクできるようにするオプションの呼び出しです。ユーザーは「OK Google, <表示名> に話しかけて <ディープリンク フレーズ> に話しかけて>」 のようなフレーズを話しかけることで、これらのインテントのタイプに一致させることができます(例: 「OK Google, Google のファクトと話して会社の事実を知りたい」など)。<br class="ph-1-1

  • 組み込みインテント - システム定義の呼び出しモデルを利用できるオプションの呼び出しです。組み込みインテントのサポートを宣言することで、ユーザーは表示名を指定しなくても Actions プロジェクトを見つけて呼び出すことができます。たとえば、ユーザーが「OK Google, ゲームをして」と話しかけると、Google アシスタントはアクションを呼び出すオプションとして提示されます。

図 1.呼び出しモデルは、アクションとの会話を開始する対象となるすべてのインテントで構成されています。

メイン呼び出しを作成する

すべての Actions プロジェクトには、Actions プロジェクトへのデフォルトのエントリ ポイントとして機能するデフォルトのメイン呼び出しがあります。この呼び出しの言語モデルはプロジェクトの表示名に関連付けられるため、ユーザーは「OK Google, <表示名> に話しかけて」に似たフレーズを話しかけるだけで、この呼び出しを使用できます。ユーザーがこの方法でアクションを呼び出した場合、アシスタント ランタイムは actions.intent.MAIN システム インテントと照合します。

メイン呼び出しを作成するには:

ディープリンク呼び出しを作成するには、ディープリンクに設定するユーザー入力を定義するトレーニング フレーズを使用して、グローバル ユーザー インテントを作成します。ユーザーは、表示名と組み合わせてディープリンクを呼び出し、ディープリンクを呼び出します(例: 「OK Google, <ディープリンク フレーズ> と <表示名> に話しかけて」))。

暗黙的呼び出しを作成する

暗黙的呼び出しを使用すると、ユーザーはプロジェクトの表示名を使用せずにアクションを呼び出すことができます。一致するアクションを見つけるために、Google はユーザーが構成済みのインテントの呼び出しフレーズに似た行動をするようにユーザーに指示している、またはアクションが適切な状況にいるなどのシグナルを使用します。

呼び出しイベントを処理する

アシスタントは、グローバル インテントのいずれかに一致すると、ハンドラで処理できるイベントをトリガーします。以降のセクションでは、ハンドラが実行できる処理について説明します(3 つのいずれかの組み合わせも、任意の組み合わせも選択できます)。

Webhook をトリガーする

インテント ハンドラは、Webhook イベントをトリガーすることで、ウェブサービスにデリゲートできます。Webhook をトリガーし、ウェブサービスで呼び出しを処理するには:

プロンプト

インテント ハンドラは静的プロンプトで応答できます。通常、呼び出しインテントのプロンプトは、ユーザーを歓迎します。アクションの使用方法を案内するか、ユーザーが必要とする情報をすぐに返します(ワンショット アクション)。

呼び出しインテントとプロンプトの一致を処理するには:

シーンへの移行

インテント ハンドラは、一致した呼び出しインテントを処理するためにシーンに遷移できます。これにより、最も柔軟にロジックを実行できます。シーンに移行するには: