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 |
string
SSML で再生できる文字列。 |
openMic |
boolean
TTS の再生後にマイクを開くかどうかを指定します。 |
createIntentHandler
createIntentHandler(intentId, callback) returns IntentHandler
NLU カスタム インテントのインテント ハンドラを作成します。
パラメータ | |
---|---|
intentId |
string
Actions 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 |
string
triggerScene() の呼び出しのステータス。 次のいずれかが表示されます。
|
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 |
Object
Canvas アプリの更新された状態(JSON オブジェクト)。 |
Interactive Canvas のコールバック
これらのコールバックは、ユーザーが情報やリクエストに応答する手段を提供します。 会話型アクションからの情報を取得できますが、メソッドでは 会話型アクションに送信します。
onUpdate
onUpdate(data) returns Promise|undefined
会話型アクションから Canvas
レスポンスが送信されたときに呼び出されます。TTS が開始されるタイミングは
返された Promise が解決されるか、10 秒後にタイムアウトします。
パラメータ | |
---|---|
data |
Object
Webhook によって送信された更新済みデータ。 |
onTtsMark
onTtsMark(markName) returns undefined
TTS の再生中に呼び出されるコールバック。
通常トリガーされる特別なマークを以下に示します。
START
は、TTS の開始を示します。END
は、TTS の終了を示します。ERROR
は、TTS の再生中にエラーが発生したことを示します。
SSML と <mark>
タグを使用して、カスタムマークを定義することもできます。次に例を示します。
<mark name="custom"/>
。
パラメータ | |
---|---|
markName |
string
TTS の再生中に呼び出されたマーク名。 |
onInputStatusChanged
onInputStatusChanged(inputStatus) returns undefined
アシスタントの入力ステータスが変更されたことを Canvas アプリに通知します。
パラメータ | |
---|---|
inputStatus |
Enum
デバイスでの音声入力やテキスト入力の処理のステータス。缶 次のように変更します。
|