互動式 Canvas API 是 JavaScript 程式庫,可供您用於介面
對對話動作使用 interactiveCanvas
物件。
如要進一步瞭解互動式畫布,請參閱互動式畫布 說明文件。
方法
準備好了
ready(callbacks) returns undefined
在載入回呼後,互動式畫布網頁應用程式會呼叫此方法。
參數 | |
---|---|
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>
建立類型字串的版位。
參數 | |
---|---|
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
版位類型項目的專屬 ID。 |
synonyms |
array<string>
用於選取運算單元選項的字詞清單。 |
提示
代表運算單元提示的物件。
欄位 | |
---|---|
associatedWords |
array<string>
協助 NLU 系統決定要填入的版位的字詞清單。 |
預期
expect(expectation) returns HandlerRegistration
在用戶端上註冊預期。可在意圖處理常式和運算單元上呼叫。
參數 | |
---|---|
expectation |
IntentHandler|Slot
要註冊的意圖處理常式或運算單元。 |
HandlerRegistration |
object
已註冊的意圖處理常式或運算單元。 |
HandlerRegistration
代表已註冊意圖處理常式的物件。
方法 | |
---|---|
deleteHandler() |
function
取消註冊預期的意圖處理常式。 |
clearExpectations
clearExpectations() returns undefined;
刪除所有先前註冊的意圖處理常式和運算單元,藉此移除所有期望。
提示
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 |
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 |
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
通知 Google 助理「畫布」網頁應用程式已更新狀態。
setCanvasState
敬上
方法不會傳回值。您可以透過
conv.context.canvas.state
資源。
參數 | |
---|---|
state |
Object
以 JSON 物件形式呈現的 Canvas 應用程式更新狀態。 |
InteractiveCanvasCallbacks
這些回呼可讓您回應資訊或要求 而這些方法可傳送對話訊息 或要求接收對話動作的資訊或要求
onUpdate
onUpdate(data) returns Promise|undefined
從對話動作傳送 Canvas
回應時呼叫。文字轉語音會在下列時間啟動:
傳回的 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 應用程式,說明 Google 助理輸入狀態已變更。
參數 | |
---|---|
inputStatus |
Enum
裝置上的語音和/或文字輸入處理狀態。罐類收納 包括:
|