將 Dialogflow 與 Google Chat 整合後,您就能同時使用這兩項服務的功能:
- Google Chat。提供具備前端使用者介面的訊息平台,可用於一對一對話和聊天室。透過 Google Chat,您可以建立包含圖示、圖片、按鈕、文字輸入欄位或 Google 地圖等應用程式的資訊卡,進而強化使用者介面。
- Dialogflow。提供自然語言理解平台,可用於自動對話和動態回應。透過 Dialogflow,您可以解讀並滿足使用者意圖,例如安排預約或處理購買交易。
雖然您也可以使用 Google Chat 滿足使用者要求,但 Dialogflow 可讓使用者透過一般對話表達需求。
運作方式
建構支援 Dialogflow 的 Google 聊天應用程式後,您可以將應用程式提供給下列對象:
- 一般大眾。獲授權的 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 會原封不動地分享這項回應,或使用以卡片為基礎的 UI 呈現豐富的回應。
本頁面說明如何將 Dialogflow 與 Google Chat 整合,並設定即時通訊回應。
限制
透過 Google Chat 整合,Dialogflow 代理程式只能使用預設代理程式語言。
事前準備
只有具備授權的 Google Workspace 使用者才能使用 Google Chat 應用程式。Google Workspace 管理員必須執行下列操作:
建構 Dialogflow 代理程式
如果您尚未建構 Dialogflow 代理程式,但想瞭解代理程式如何與 Google Chat 互動,請按照這份快速入門建立簡單的代理程式。不過,請勿刪除服務專員。接下來,我們會使用 Google 即時通訊介面設定服務專員。
設定 Google Chat
如要使用 Google Chat 設定 Dialogflow 代理程式,請使用下列任一方法:
使用 Dialogflow 主控台設定 Google Chat
如要透過 Dialogflow 控制台整合 Google Chat,請按照下列步驟操作:
- 前往 Dialogflow ES 主控台。
- 在左選單中選取 Dialogflow 專案。
- 點選 [Integrations] (整合)。
- 按一下「Google Chat」。如果 Google Chat 不在選項中,請參閱疑難排解。
- 選取可存取應用程式的使用者。
- [選用] 選取要執行代理程式的環境。
- 按一下「開始」。
Google Chat 應用程式現已上線,並開放你選取的使用者存取。
如要設定應用程式,請再次按一下「Google 即時通訊」,然後點選「設定機器人詳細資料」。系統會顯示 Google Cloud Google Chat API 的控制台頁面,您可以在其中設定應用程式自介圖像等應用程式參數。
使用 Google Cloud 控制台設定 Google Chat
如要使用 Google Cloud 控制台整合 Google Chat,請按照下列步驟操作:
選取 Dialogflow 專案。
按一下「menu」。
依序按一下「API 和服務」和「程式庫」。
搜尋並點選「Google Chat API」。
按一下「啟用」。
按一下 [設定] 標籤。
設定應用程式。
在「顯示設定」窗格中,選取可存取應用程式的使用者:
- 應用程式測試人員。選取「將這個即時通訊提供給特定使用者」,然後輸入使用者的電子郵件地址。
- 一般大眾或企業版 Google Workspace 網域。發布應用程式。
按一下 [儲存]。Google Chat 應用程式現已上線,並開放你選取的使用者存取。
測試
測試 Chat 應用程式前,請先確認您已啟動該應用程式,如「設定 Google Chat」一文所述。
您可以使用下列任一方法測試應用程式:
直接與應用程式進行即時通訊
- 開啟 Google Chat。
- 在「即時通訊」窗格中,按一下「+」並選取「尋找應用程式」。
- 搜尋並選取應用程式。 如果 Google Chat 未列出您的應用程式,請參閱疑難排解。
- 按一下「Chat」。
- 在即時通訊輸入欄位中輸入自然語言詞組,以便測試應用程式。
從聊天室叫用應用程式
- 開啟 Google Chat。
- 在「聊天室」窗格中,按一下「+」,然後選取「建立聊天室」。
- 輸入聊天室名稱「Test」。
- 按一下 [建立]。
- 在聊天輸入欄位中輸入 @,然後選取應用程式,系統就會自動完成名稱。
- 在系統自動完成的應用程式名稱後方,輸入自然語言詞組來測試應用程式。
疑難排解
錯誤 | 解決方案 |
---|---|
Dialogflow ES 主控台 >「整合」頁面不會顯示 Google Chat 選項。 | 請嘗試重新整理頁面:在左側選單中,依序按一下「Intents」和「Integrations」。 |
Google Chat 未將您的應用程式列為可用應用程式。 | 請確認 Google Workspace 管理員為您新增 Google Workspace 帳戶,並允許使用者安裝 Chat 應用程式。接著,請確認你已啟動 Chat 應用程式,如「設定 Google Chat」一文所述。 |
複合式回應訊息
這項整合功能可將部分豐富回應訊息轉譯為 Google Chat 訊息格式。
文字回覆
文字回應會以簡訊的形式傳送至 Google Chat。使用這種格式時,只要將文字包在特定 (輕型) Markdown 符號中,即可將文字設為粗體或斜體。
文字訊息回應在視覺上與 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 格式。
以下是使用資訊卡 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 開發人員說明文件
- 建構 Chat 擴充應用程式
- 影片:將 Dialogflow 與 Google Chat 整合
- 程式碼研究室:將 Dialogflow 與 Google Chat 整合