Interactive Canvas API は、Google Cloud で API 呼び出しと
ウェブアプリで interactiveCanvas オブジェクトを使用して、会話型アクションと併用できます。
Interactive Canvas について詳しくは、Interactive Canvas をご覧ください。 ドキュメントをご覧ください。
メソッド
準備完了
ready(callbacks) returns undefined
コールバックを登録するために読み込まれると、Interactive Canvas ウェブアプリによって呼び出されます。
| パラメータ | |
|---|---|
| callbacks | 
        InteractiveCanvasCallbacks
      メソッド コールバックを含むオブジェクト。 | 
sendTextQuery
sendTextQuery(textQuery) returns Promise<state>
テキストクエリを会話型アクションに送信します。
| パラメータ | |
|---|---|
| textQuery | string会話アクションに送信するクエリ。 | 
| state | string次のいずれかが表示されます。 
 
 
 | 
getHeaderHeightPx
getHeaderHeightPx() returns Promise<height>
ディスプレイの上部にあるヘッダーの高さを指定します。
| パラメータ | |
|---|---|
| height | numberピクセル単位の高さ。 | 
outputTts
outputTts(text, openMic) returns undefined;
SSML テキストを再生します。
| パラメータ | |
|---|---|
| text | stringSSML で再生できる文字列。 | 
| openMic | booleanTTS の再生後にマイクを開くかどうかを指定します。 | 
createIntentHandler
createIntentHandler(intentId, callback) returns IntentHandler
NLU カスタム インテントのインテント ハンドラを作成します。
| パラメータ | |
|---|---|
| intentId | stringActions Builder で定義されたインテント名。 | 
| callback | function(MatchedIntent)インテントが一致したときに実行される関数。 | 
| IntentHandler | object
 | 
IntentHandler
インテント ハンドラを表すオブジェクト。expect() または prompt() を使用して登録できます。
MatchedIntent
一致したインテントのデータを含むオブジェクト。
| メソッド | |
|---|---|
| getIntentArg(parameterName) | function(string)一致したインテントのインテント パラメータを取得するメソッド。 | 
createNumberSlot
createNumberSlot(callback, hints?) returns Slot<number>
数値型のスロットを作成します。
| パラメータ | |
|---|---|
| callback | function(FilledSlot)スロットがいっぱいになったときに実行される関数。 | 
| hints | Hints時間枠を埋める際にユーザーが発話する可能性のある短い単語。 | 
| Slot | object
 | 
createTextSlot
createTextSlot(callback, hints?) returns Slot<string>
String 型のスロットを作成します。
| パラメータ | |
|---|---|
| callback | function(FilledSlot)スロットがいっぱいになったときに実行される関数。 | 
| hints | Hints時間枠を埋める際にユーザーが発話する可能性のある短い単語。 | 
| Slot | object
 | 
createConfirmationSlot
createConfirmationSlot(callback, hints?) returns Slot<boolean>
ブール値タイプのスロットを作成します。
| パラメータ | |
|---|---|
| callback | function(FilledSlot)スロットがいっぱいになったときに実行される関数。 | 
| hints | Hints時間枠を埋める際にユーザーが発話する可能性のある短い単語。 | 
| Slot | object
 | 
createOptionsSlot
createOptionsSlot(options, callback, hints?) returns Slot<string>
事前定義されたオプションのリストからスロットを作成します。
| パラメータ | |
|---|---|
| options | array<Option>スロットがいっぱいになったときに実行される関数。 | 
| callback | function(FilledSlot)スロットがいっぱいになったときに実行される関数。 | 
| hints | Hints時間枠を埋める際にユーザーが発話する可能性のある短い単語。 | 
| Slot | object
 | 
スロット
埋めるスロットを表すオブジェクト。expect() または prompt() を使用して登録できます。
FilledSlot<T>
塗りつぶされたスロットを表すオブジェクト。
| パラメータ | |
|---|---|
| T | boolean|number|stringスロットタイプ。 | 
オプション
スロットタイプのエントリを表すオブジェクト。
| フィールド | |
|---|---|
| key | stringスロットタイプ エントリの一意の識別子。 | 
| synonyms | array<string>スロット オプションを選択するために使用される単語のリスト。 | 
ヒント
スロットのヒントを表すオブジェクト。
| フィールド | |
|---|---|
| associatedWords | array<string>NLU システムがどのスロットを埋めるかを決定するために使用される単語のリスト。 | 
予想
expect(expectation) returns HandlerRegistration
クライアントに対する期待値を登録します。インテント ハンドラとスロットで呼び出すことができます。
| パラメータ | |
|---|---|
| expectation | IntentHandler|Slot登録するインテント ハンドラまたはスロット。 | 
| HandlerRegistration | object登録済みのインテント ハンドラまたはスロット。 | 
HandlerRegistration
登録済みのインテント ハンドラを表すオブジェクト。
| メソッド | |
|---|---|
| deleteHandler() | function想定されるインテント ハンドラの登録を解除します。 | 
clearExpectations
clearExpectations() returns undefined;
以前に登録されたインテント ハンドラとスロットをすべて削除することで、すべての想定を排除します。
prompt
prompt(tts, expectation) returns Promise<Answer<T>>
指定された TTS 文字列をユーザーに入力し、期待値をクライアントに登録します。インテント ハンドラとスロットで呼び出すことができます。
| パラメータ | |
|---|---|
| tts | stringユーザーに期待値の入力を求めるために使用される TTS 文字列。 | 
| expectation | IntentHandler|Slot登録するインテント ハンドラまたはスロット。 | 
| Answer<T> | objectプロンプトに対してユーザーが指定した回答。 | 
答え<T>
プロンプトに対してユーザーが入力した回答を表すオブジェクト。
| フィールド | |
|---|---|
| value | boolean|number|stringユーザー入力の回答の値。 | 
| status | string回答のステータス。 次のいずれかが表示されます。 
 
 
 | 
triggerScene
triggerScene(sceneName) returns Promise<TriggerSceneStatus>
シーンをトリガーします。
| パラメータ | |
|---|---|
| sceneName | stringトリガーするシーンの名前。 | 
| TriggerSceneStatus | stringtriggerScene() の呼び出しのステータス。 次のいずれかが表示されます。 
 
 
 | 
setUserParam
setUserParam(key, value) returns Promise<undefined>;
会話間で渡され、保持される Key-Value ペアを設定します。
| パラメータ | |
|---|---|
| key | stringパラメータキー。 | 
| value | object|array|boolean|number|stringパラメータ値。 | 
getUserParam
getUserParam(key) returns Promise<object|array|boolean|number|string>;
指定されたキーのパラメータ値(存在する場合)と呼び出しのステータスを取得します。
| パラメータ | |
|---|---|
| key | stringパラメータキー。 | 
resetUserParam
resetUserParam() returns Promise<void>;
すべてのユーザー パラメータをクリアします。
setHomeParam
setHomeParam(key, value) returns Promise<undefined>;
会話間で渡され、保持される Key-Value ペアを設定します。
| パラメータ | |
|---|---|
| key | stringパラメータキー。 | 
| value | object|array|boolean|number|stringパラメータ値。 | 
getHomeParam
getHomeParam(key) returns Promise<object|array|boolean|number|string>;
指定されたキーのパラメータ値(存在する場合)と呼び出しのステータスを取得します。
| パラメータ | |
|---|---|
| key | stringパラメータキー。 | 
resetHomeParam
resetHomeParam() returns Promise<void>;
すべてのユーザー パラメータをクリアします。
setCanvasState
setCanvasState(state) returns undefined
Canvas ウェブアプリが状態を更新されたことをアシスタントに通知します。「
setCanvasState
メソッドは値を返しません。状態ペイロードには、
conv.context.canvas.state プロパティ。
| パラメータ | |
|---|---|
| state | ObjectCanvas アプリの更新された状態(JSON オブジェクト)。 | 
Interactive Canvas のコールバック
これらのコールバックは、ユーザーが情報やリクエストに応答する手段を提供します。 会話型アクションからの情報を取得できますが、メソッドでは 会話型アクションに送信します。
onUpdate
onUpdate(data) returns Promise|undefined
会話型アクションから Canvas レスポンスが送信されたときに呼び出されます。TTS が開始されるタイミングは
返された Promise が解決されるか、10 秒後にタイムアウトします。
| パラメータ | |
|---|---|
| data | ObjectWebhook によって送信された更新済みデータ。 | 
onTtsMark
onTtsMark(markName) returns undefined
TTS の再生中に呼び出されるコールバック。
通常トリガーされる特別なマークを以下に示します。
- STARTは、TTS の開始を示します。
- ENDは、TTS の終了を示します。
- ERRORは、TTS の再生中にエラーが発生したことを示します。
SSML と <mark> タグを使用して、カスタムマークを定義することもできます。次に例を示します。
<mark name="custom"/>。
| パラメータ | |
|---|---|
| markName | stringTTS の再生中に呼び出されたマーク名。 | 
onInputStatusChanged
onInputStatusChanged(inputStatus) returns undefined
アシスタントの入力ステータスが変更されたことを Canvas アプリに通知します。
| パラメータ | |
|---|---|
| inputStatus | Enumデバイスでの音声入力やテキスト入力の処理のステータス。缶 次のように変更します。 
 | 
