接收及回覆使用者互動

本頁面說明 Google Chat 應用程式如何接收及回應使用者互動,也稱為「Google Chat 應用程式互動事件」

Google Chat 應用程式互動事件代表使用者叫用 Chat 應用程式或與 Chat 應用程式互動的任何動作,例如使用 @號提及 Chat 應用程式,或將應用程式新增至聊天室。當使用者與 Chat 應用程式互動時,Google Chat 會傳送互動事件給 Chat 應用程式。Chat 應用程式可以使用這個事件處理互動並建立回應。

舉例來說,Chat 擴充應用程式會使用互動事件執行下列任一操作:

互動事件範例 Chat 應用程式的一般回覆
使用者透過 @ 號提及 Chat 或使用斜線指令叫用 Chat 應用程式。 Chat 應用程式會處理訊息所說的內容,以便建立訊息。舉例來說,Chat 應用程式會回覆 /about 指令,並顯示訊息說明 Chat 應用程式可執行的工作。
使用者將 Chat 擴充應用程式新增至聊天室。 Chat 應用程式會傳送新手上路訊息,說明 Gemini 的功能,以及聊天室中使用者與應用程式互動的方式。
使用者從聊天室中移除了 Chat 應用程式。 Chat 應用程式會移除為聊天室設定的所有傳入通知 (例如刪除 Webhook),並清除所有內部儲存空間。
使用者點選 Chat 應用程式傳送的資訊卡或對話方塊中的按鈕。 Chat 應用程式會處理並儲存使用者提交的任何資料,或傳回其他資訊卡或對話方塊。

Google Chat 會針對每種使用者互動類型傳送不同類型的互動事件,協助 Chat 應用程式據此處理每種事件類型。舉例來說,對於使用者將 Chat 應用程式新增至聊天室的任何互動,Google Chat 會使用事件類型 ADDED_TO_SPACE,這樣 Chat 應用程式就能處理回應,例如在聊天室中張貼歡迎訊息。如要查看所有支援的互動事件,請參閱 EventType 參考說明文件

本頁說明如何執行下列操作:

  • 設定 Chat 應用程式來接收事件。
  • 處理基礎架構中的互動事件。
  • 在適當情況下,回應互動事件。

接收 Chat 應用程式互動事件

本節說明如何接收及處理 Chat 應用程式的互動事件。

設定 Chat 應用程式以接收互動事件

並非所有 Chat 擴充應用程式都具有互動功能。舉例來說,連入 Webhook 只能傳送外送訊息,無法回應使用者。建構互動式 Chat 應用程式時,您必須選擇能讓 Chat 應用程式接收、處理及回應互動事件的端點。如要進一步瞭解如何設計 Chat 應用程式,請參閱「Chat 擴充應用程式實作架構」。

如果您建構的是互動式 Chat 應用程式,則必須設定 Google Chat API,讓 Google Chat 可以傳送互動事件給您:

  1. 在 Google Cloud 控制台中,開啟 Google Chat API 頁面:

    前往 Google Chat API 頁面

  2. 點選「設定」分頁標籤。
  3. 在「互動功能」部分中,按一下「啟用互動功能」切換按鈕,將功能設為開啟。
  4. 在「功能」中,勾選下列一或兩個核取方塊:
    1. 接收 1:1 訊息:允許使用者在即時訊息 (DM) 聊天室中與 Chat 應用程式互動。每當使用者在即時訊息聊天室中傳送訊息,Chat 應用程式就會收到互動事件。
    2. 加入聊天室和群組對話:允許使用者在有多位使用者的聊天室中新增及移除 Chat 應用程式。在聊天室中新增或移除應用程式,以及每當使用者在聊天室中使用 @號提及或使用斜線指令,Chat 應用程式都會收到互動事件。
  5. 在「連線設定」中,指定 Google Chat 傳送 Chat 應用程式互動事件的位置。
  6. 選用:在「Slash 指令」中新增並設定一或多個斜線指令。詳情請參閱設定斜線指令
  7. 選用:在「連結預覽」中,新增並設定一或多個要用於 Chat 應用程式預覽的網址模式。詳情請參閱「預覽連結」一文。
  8. 按一下「儲存」

Chat 應用程式現已設定,可接收來自 Google Chat 的互動事件。

處理服務的 HTTP 呼叫重試作業

如果傳送至服務的 HTTPS 要求失敗 (例如逾時、暫時性網路失敗,或非 2xx HTTPS 狀態碼),Google Chat 可能會在幾分鐘內重試傳送數次 (但不保證一定有)。因此,在某些情況下,Chat 應用程式可能會收到多次相同的訊息。如果要求成功完成,但傳回無效訊息酬載,Google Chat 就不會重試要求。

處理或回應互動事件

本節說明 Google Chat 應用程式如何處理及回應互動事件。

Chat 應用程式從 Google Chat 收到互動事件後,就能以多種方式回應。在許多情況下,互動式 Chat 應用程式會使用訊息回覆使用者。Google Chat 應用程式也可以查詢資料來源的部分資訊、記錄互動事件資訊,或查詢其他任何資訊。這個處理行為基本上就是 Google Chat 應用程式的定義。

每個互動事件都會收到「要求主體」,這是代表該事件的 JSON 酬載。您可以使用這些資訊來處理回應。如需事件酬載的範例,請參閱「Chat 應用程式互動事件類型」。

下圖說明 Google Chat 應用程式一般如何處理或回應不同類型的互動事件:

Google Chat 應用程式處理互動事件的架構。

即時回覆

互動事件可讓 Chat 擴充應用程式即時回應,或者以同步方式回應。同步回應不需要驗證

如要建立互動事件的同步回應,請參閱下列指南:

如要同步回應,Chat 應用程式必須在 30 秒內回應,且回應必須張貼在發生互動的聊天室中。否則 Chat 應用程式也可以以非同步方式回應。

以非同步方式回應

有時候,Chat 擴充應用程式必須在 30 秒後回應互動事件,或是在產生互動事件的聊天室外執行工作。舉例來說,Chat 應用程式可能需要在完成長時間執行的工作後回應使用者。在本範例中,Chat 應用程式可以呼叫 Google Chat API,以非同步方式回應。

如要使用 Chat API 建立訊息,請參閱「建立訊息」。如需使用其他 Chat API 方法的指南,請參閱 Chat API 總覽