將 Dialogflow 與 Google Chat 整合後,您就能同時運用這兩項服務的功能:
- Google Chat。提供通訊平台,並透過前端使用者介面進行一對一對話和聊天室。透過 Google Chat,您可以建構包含圖示、圖片、按鈕、文字輸入欄位或 Google 地圖等應用程式的資訊卡,進而強化使用者介面。
- Dialogflow。提供自然語言理解平台,用於自動對話和動態回覆。透過 Dialogflow,您可以解讀及滿足使用者意圖,例如安排預約或處理購買交易。
雖然您也可以使用 Google Chat 執行使用者要求,但 Dialogflow 可讓使用者透過一般對話表達要求。
運作方式
建構支援 Dialogflow 的 Google Chat 應用程式後,您可以讓下列對象使用該應用程式:
- 一般大眾。取得授權的 Google Workspace 使用者可以透過 Google Workspace Marketplace 下載您的應用程式。
- Google Workspace 網域。Google Workspace 管理員可以指定使用者可在 Google Chat 中新增哪些應用程式。
- 應用程式測試人員。測試應用程式時,您可以限制應用程式的存取權。
在 Google Chat 中,使用者可以與應用程式進行即時對話,或從聊天室內叫用應用程式。會發生以下情況:
- 使用者傳送訊息給 Chat 應用程式。
- Google Chat 會將 JSON 要求傳送至 Chat 應用程式,該應用程式可託管於 Cloud Functions。
- Chat 應用程式會收到並剖析 JSON 要求。在剖析期間,Chat 應用程式會叫用 Dialogflow。
- Chat 應用程式會將要求傳送至 Dialogflow,其中包含使用者的自然語言訊息文字。
- Dialogflow 會解讀使用者的文字,並將回應傳送至 Chat 應用程式。
- Chat 應用程式會剖析 Dialogflow 的回應,並將 JSON 回應傳送至 Google Chat。
- Google Chat 會接收 Chat 應用程式的 JSON 回應,並在 UI 中以簡訊、資訊卡訊息或對話方塊訊息的形式顯示回覆。
- Google Chat 會直接分享這項回覆,或使用以資訊卡為基礎的使用者介面呈現豐富的回覆。
本頁面說明如何整合 Dialogflow 與 Google Chat,以及如何設定豐富的即時通訊回應。
限制
透過 Google Chat 整合功能,Dialogflow 代理程式只能使用預設代理程式語言。
事前準備
只有具備授權的 Google Workspace 使用者才能使用 Google Chat 應用程式。Google Workspace 管理員必須執行下列操作:
建構 Dialogflow 代理程式
如果您尚未建構 Dialogflow 代理程式,但想瞭解代理程式與 Google Chat 的互動方式,請按照這篇快速入門導覽課程建立簡單的代理程式。但請勿刪除代理。接著,我們透過 Google Chat 介面設定代理程式。
設定 Google Chat
如要透過 Google Chat 設定 Dialogflow 代理程式,請使用下列任一方法:
使用 Dialogflow 主控台設定 Google Chat
如要使用 Dialogflow 控制台整合 Google Chat,請按照下列步驟操作:
- 前往 Dialogflow ES 主控台。
- 在左選單中選取 Dialogflow 專案。
- 點選 [Integrations] (整合)。
- 按一下「Google Chat」。 如果沒有 Google Chat 選項,請參閱疑難排解。
- 選取可存取應用程式的對象。
- [選用] 選取要執行代理程式的環境。
- 按一下「Start」。
Google Chat 應用程式現已上線,並開放給您選取的對象使用。
如要設定應用程式,請再次點選「Google Chat」,然後點選「設定機器人詳細資料」。 系統會顯示 Google Chat API 的 Google Cloud 控制台頁面,您可以在這裡設定應用程式參數,例如應用程式的虛擬人偶。
使用 Google Cloud 控制台設定 Google Chat
如要使用 Google Cloud 控制台整合 Google Chat,請按照下列步驟操作:
選取 Dialogflow 專案。
按一下「menu」。
依序按一下「API 和服務」和「程式庫」。
搜尋並點選「Google Chat API」。
按一下「啟用」。
點選「設定」分頁標籤。
設定應用程式。
在「顯示設定」窗格中,選取可存取應用程式的使用者:
- 應用程式測試人員。選取「將這項即時通訊功能提供給特定使用者」,然後輸入對方的電子郵件地址。
- 一般大眾或 Enterprise Google Workspace 網域。發布應用程式。
按一下 [儲存]。您的 Google Chat 應用程式現已上線,並開放給您選取的對象使用。
測試
測試 Chat 應用程式前,請先啟動該應用程式,如「 設定 Google Chat」一文所述。
您可以透過下列任一方法測試應用程式:
直接與應用程式傳訊息
- 開啟 Google Chat。
- 在「即時通訊」窗格中,按一下「+」並選取「尋找應用程式」。
- 搜尋並選取您的應用程式。 如果 Google Chat 未列出您的應用程式,請參閱疑難排解。
- 按一下「Chat」。
- 在對話輸入欄位中,輸入自然語言詞組來測試應用程式。
從聊天室叫用應用程式
- 開啟 Google Chat。
- 在「聊天室」窗格中,按一下「+」並選取「建立聊天室」。
- 輸入聊天室名稱「測試」。
- 點選「建立」。
- 在對話輸入欄位中輸入 @,然後選取應用程式,系統會自動完成名稱。
- 在自動完成的應用程式名稱後,輸入自然語言片語來測試應用程式。
疑難排解
| 錯誤 | 解決方案 |
|---|---|
| Dialogflow ES 控制台的「整合」頁面不會顯示 Google Chat 選項。 | 重新整理頁面:在左側選單中,依序點選「意圖」和「整合」。 |
| Google Chat 不會將您的應用程式列為可用。 | 請確認 Google Workspace 管理員已為您新增 Google Workspace 帳戶,並允許使用者安裝 Chat 應用程式。然後按照「設定 Google Chat」一文的說明啟動 Chat 應用程式。 |
複合式回應訊息
這項整合功能會將部分豐富的回覆訊息轉換為 Google Chat 訊息格式。
文字回覆
文字回覆會以簡訊形式傳送至 Google Chat。 使用這項格式設定時,只要以特定 (Markdown Light) 符號括住文字,即可將文字設為粗體或斜體。
簡訊回覆在視覺上與 Dialogflow 主控台中的預設文字回覆相同。不過,原始 API 回應看起來會有些許不同。此外,這也會將平台設定設為 GOOGLE_HANGOUTS,在為多項整合服務建構代理程式時,這可能很有用。
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
資訊卡
資訊卡回覆會以資訊卡訊息的形式傳送至 Google Chat。
圖片
圖片回覆會以 Google Chat 圖片小工具的形式傳送至 Google Chat。
自訂酬載
如要傳送其他類型的 Google Chat 訊息,可以使用自訂酬載。
Google Chat 自訂酬載可讓您建立更進階的資訊卡。一張資訊卡可以有一或多個區塊。每個區段都可以有標題。 如要查看可建立的組合,請參閱 Google Chat 訊息格式資訊卡參考指南。不過,使用自訂酬載時,您必須提供 JSON 格式。
以下是使用 Cards v1 格式的自訂酬載範例:
{ "hangouts": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "keyValue": { "icon": "TRAIN", "topLabel": "Order No.", "content": "12345" } }, { "keyValue": { "topLabel": "Status", "content": "In Delivery" } }] }, { "header": "Location", "widgets": [{ "image": { "imageUrl": "https://dummyimage.com/600x400/000/fff" } }] }, { "header": "Buttons - I could leave the header out", "widgets": [{ "buttons": [{ "textButton": { "text": "OPEN ORDER", "onClick": { "openLink": { "url": "https://example.com/orders/..." } } } }] }] }] } }
停止 Chat 應用程式
如要停止提供 Google Chat 應用程式,請使用下列任一方法:
使用 Dialogflow 主控台停止 Chat 應用程式
- 前往 Dialogflow ES 主控台。
- 在左選單中選取 Dialogflow 專案。
- 點選 [Integrations] (整合)。
- 按一下「Google Chat」。 如果沒有 Google Chat 選項,請參閱疑難排解。
- 按一下「停止」。
使用 Google Cloud 控制台停止 Chat 應用程式
在 Google Cloud 控制台中選取 Dialogflow 專案。
按一下「menu」。
依序按一下「API 和服務」和「程式庫」。
搜尋並點選「Google Chat API」。
點選「管理」。
點選「設定」分頁標籤。
在「應用程式狀態」欄位中,選取「已停用」。
更多資訊
如要進一步瞭解如何使用 Google Chat,請參閱下列文章:
- Google Chat API 開發人員文件
- 建構可擴充 Google Chat 的 Google Workspace 外掛程式
- 影片:將 Dialogflow 與 Google Chat 整合
- 程式碼研究室:將 Dialogflow 與 Google Chat 整合