互動式 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 | ObjectWebhook 傳送的更新資料。 | 
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裝置上的語音和/或文字輸入處理狀態。罐類收納 包括: 
 | 
