提示可以定義動作如何向使用者顯示回應,以及動作會如何提示使用者繼續操作。建構動作時,您可以為叫用和場景中的不同位置新增提示。提示可以像文字或語音回應一樣簡單,也可能更複雜,且包含資訊卡、圖片和表格等多媒體內容。
回應類型
在每個提示中,您可以選擇多種引人入勝的回應類型,供 Google 助理向使用者呈現:
- 簡易回應:簡易回應會以聊天泡泡的形式呈現,並使用文字轉語音 (TTS) 或語音合成標記語言 (SSML) 來提供聲音。只有所有裝置類型支援簡易回應。
- 複合式回應:複合式回應包含視覺或功能元素,可提高使用者與動作的互動程度。透過複合式回應,您也可以顯示表格資料或播放較長的音訊內容。
- 視覺選取回應:視覺選取回應可提供視覺化介面,讓使用者選擇最容易依標題或圖片區分的選項。
- 媒體回應:媒體回應可讓動作播放比 SSML 更長的音訊內容,並提供具有媒體控制項的視覺元件。
- 互動式畫布:互動式畫布會將回應算繪為全螢幕的網頁檢視畫面和函式,做為 Google 助理做為對話回應使用者的互動式網頁應用程式。Canvas 採用略有不同的提示格式,以配合 HTML、CSS 和 JavaScript 等網路標準增添彈性。
這些回應類型都使用相同的基本提示格式,並可使用下方所述的相同一般功能。
提示格式
在 Actions 專案中,您需要以 YAML 或 JSON 格式定義提示。每個提示最多可包含兩個簡單回應,並視需要定義豐富的回應。回應的定義如下:
first_simple
:傳送給使用者的初始文字或語音 (簡單) 回應。content
:傳送簡單回應後要傳送的補充互動式內容。last_simple
傳送給使用者的最終文字或語音 (簡單) 回應。canvas
:參照與互動式畫布整合的網頁應用程式。
根據預設,提示佇列中的提示會依照上述順序相互附加。在使用者能夠回應之前,Google 助理會在提示佇列中向使用者顯示所有提示。
此外,您還可以使用下列功能,靈活地提供提示:
- 候選項目:候選可讓您根據使用者的裝置功能定義回應。舉例來說,您可以要求 Google 助理在支援螢幕的裝置上與您的動作互動時,顯示豐富的回應。
- 變化版本:變化版本是單一訊息的替代變化版本。舉例來說,您可以在每次使用者叫用您的動作時,讓 Google 助理選擇五個不同的歡迎訊息變化版本。
- 建議:在支援螢幕的裝置上,Google 助理在顯示提示時,就會為使用者提供建議方塊。
預設提示會使用一個候選提示、一個變化版本和 first_simple
回應。
候選人
在提示中,candidates
物件可讓您根據使用者的裝置功能定義回應。舉例來說,您可以要求 Google 助理在支援螢幕的裝置上與您的動作互動時,顯示豐富的回應。如要定義 Google 助理可傳回候選項目的裝置類型,請使用 candidates
物件的 selector
屬性。
在以下範例中,selector
屬性包含裝置功能資訊。如果裝置可以轉譯複合式回應,使用者就會看到第一個候選項目中設定的提示。第二個候選項目則包含只能接收文字和語音回應的使用者提示。
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
您可以為指定的候選人提供一或多項功能需求。以下清單說明每個可用功能的需求:
SPEECH
:裝置可透過文字轉語音或 SSML 與使用者交談。RICH_RESPONSE
:裝置可以顯示複合式回應,例如卡片、清單和資料表。LONG_FORM_AUDIO
:裝置可以播放長形式的音訊媒體,例如音樂和 Podcast。INTERACTIVE_CANVAS
:裝置可以顯示互動式畫布回應。WEB_LINK
:裝置可以使用複合式回應中的網頁連結開啟網路瀏覽器。HOME_STORAGE
:裝置可以儲存及存取住家儲存空間中的資料。
變化版本
變化版本可用來定義回應的多個版本。當 Google 助理向使用者傳送提示時,系統會隨機選擇其中一個子類。對話設計的最佳做法是,在使用者與動作互動時提供替代回應。
例如,您可以提供不同的歡迎訊息變化版本,讓使用者不會在每次叫用動作時聽到相同的回應:
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
建議
![智慧螢幕上的建議方塊範例](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/smart-display/chips.png?authuser=8&hl=zh-tw)
在支援螢幕的裝置上,Google 助理在顯示提示時,就會為使用者提供建議方塊。使用建議方塊提示使用者回應,以繼續或改變對話內容。使用者輕觸建議方塊後,會將顯示的文字傳回至對話內容,就像使用者輸入內容一樣。
單一提示最多可有 8 個建議,每個建議長度上限為 25 個明文字元。
如要新增建議,請在獨立的 title
欄位中提供含有每項建議的 Suggestion
物件。每個標題在一組建議方塊中都不得重複。在 Actions Builder 中,這個物件會以 YAML 和 JSON 的形式呈現為 suggestions
。
舉例來說,您可以在問題旁提供「是」和「否」建議:
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }