Auf dieser Seite wird beschrieben, wie Ihre Google Chat-App Nutzerinteraktionen (auch Google Chat-App-Interaktionsereignisse genannt) empfangen und darauf reagieren kann.
Auf dieser Seite wird Folgendes beschrieben:
- Chat-App für den Empfang von Interaktionsereignissen konfigurieren
- Verarbeiten Sie das Interaktionsereignis in Ihrer Infrastruktur.
- Reagieren Sie gegebenenfalls auf Interaktionsereignisse.
Vorbereitung
- Ein Google Workspace-Konto für Unternehmen mit Zugriff auf Google Chat.
- Google Cloud-Projekt erstellen
- OAuth-Zustimmungsbildschirm konfigurieren
- Google Chat API aktivieren
Typen von Interaktionsereignissen
Ein Google Chat-App-Interaktionsereignis steht für jede Aktion, die ein Nutzer ausführt, um eine Chat-App aufzurufen oder mit ihr zu interagieren, z. B. wenn er eine Chat-App mit @erwähnt oder sie einem Bereich hinzufügt.
Wenn Nutzer mit einer Chat-App interagieren, sendet Google Chat der Chat-App ein Interaktionsereignis, das in der Chat API als Typ Event
dargestellt wird. Die Chat-App kann das Ereignis verwenden, um die Interaktion zu verarbeiten und optional mit einer Nachricht zu antworten.
Für jede Art von Nutzerinteraktion sendet Google Chat einen anderen Typ von Interaktionsereignis, damit Ihre Chat-App jeden Ereignistyp entsprechend verarbeiten kann. Der Typ des Interaktionsereignisses wird durch das Objekt eventType
dargestellt.
In Google Chat wird beispielsweise der Ereignistyp ADDED_TO_SPACE
für jede Interaktion verwendet, bei der ein Nutzer die Chat-App einem Gruppenbereich hinzufügt. So kann die Chat-App sofort mit einer Willkommensnachricht im Gruppenbereich antworten.

ADDED_TO_SPACE
-Interaktionsereignis, das von der Chat-App verarbeitet wird, um eine Willkommensnachricht im Gruppenbereich zu senden. In der folgenden Tabelle sind häufige Nutzerinteraktionen, der Typ des Interaktionsereignisses, das die Chat-Apps empfangen, und die typische Reaktion von Chat-Apps aufgeführt:
Nutzerinteraktion | eventType |
Typische Antwort einer Chat-App |
---|---|---|
Ein Nutzer sendet eine Nachricht an eine Chat-App, z. B. durch @Erwähnung der Chat-App oder durch Verwendung eines Slash-Befehls. | MESSAGE |
Die Chat-App antwortet basierend auf dem Inhalt der Nachricht. Eine Chat-App antwortet beispielsweise auf den Slash-Befehl /about mit einer Nachricht, in der die Aufgaben erläutert werden, die die Chat-App ausführen kann. |
Ein Nutzer fügt einem Gruppenbereich eine Chat-App hinzu. | ADDED_TO_SPACE |
Die Chat-App sendet eine Onboarding-Nachricht, in der erklärt wird, was sie tut und wie Nutzer im Gruppenbereich damit interagieren können. |
Ein Nutzer entfernt eine Chat-App aus einem Gruppenbereich. | REMOVED_FROM_SPACE |
Die Chat-App entfernt alle eingehenden Benachrichtigungen, die für den Gruppenbereich konfiguriert sind (z. B. durch Löschen eines Webhooks), und leert den internen Speicher. |
Ein Nutzer klickt in einer Chat-App-Nachricht, einem Dialogfeld oder auf der Startseite auf eine Schaltfläche auf einer Karte. | CARD_CLICKED |
Die Chat-App verarbeitet und speichert entweder alle vom Nutzer eingegebenen Daten oder gibt eine andere Karte zurück. |
Ein Nutzer öffnet die Startseite der Chat-App, indem er in einer 1:1-Nachricht auf den Tab Startseite klickt. | APP_HOME |
Die Chat-App gibt eine statische oder interaktive Karte von der Startseite zurück. |
Ein Nutzer sendet ein Formular über die Startseite der Chat App. | SUBMIT_FORM |
Die Chat-App verarbeitet und speichert entweder alle vom Nutzer eingegebenen Daten oder gibt eine andere Karte zurück. |
Ein Nutzer ruft einen Befehl über einen Schnellbefehl auf. | APP_COMMAND |
Die Chat-App antwortet basierend auf dem aufgerufenen Befehl. Eine Chat-App antwortet beispielsweise auf den Befehl About mit einer Nachricht, in der die Aufgaben erläutert werden, die die Chat-App ausführen kann. |
Eine Liste aller unterstützten Interaktionsereignisse finden Sie in der Referenzdokumentation zu EventType
.
Interaktionsereignisse aus Dialogfeldern
Wenn Ihre Chat-App Dialogfelder öffnet, enthält das Interaktionsereignis die folgenden zusätzlichen Informationen, die Sie zum Verarbeiten einer Antwort verwenden können:
isDialogEvent
ist auftrue
festgelegt.- Mit dem
DialogEventType
wird angegeben, ob durch die Interaktion ein Dialogfeld geöffnet, Informationen aus einem Dialogfeld gesendet oder ein Dialogfeld geschlossen wird.
In der folgenden Tabelle sind die häufigsten Interaktionen mit Dialogfeldern, die entsprechenden Dialogfeld-Ereignistypen und eine Beschreibung der typischen Reaktionen von Chat-Apps aufgeführt:
Nutzerinteraktion mit einem Dialogfeld | Typ des Dialogereignisses | Typische Antwort |
---|---|---|
Ein Nutzer löst eine Dialoganfrage aus. Sie verwenden beispielsweise einen Slash-Befehl oder klicken in einer Nachricht auf eine Schaltfläche. | REQUEST_DIALOG |
In der Chat App wird das Dialogfeld geöffnet. |
Ein Nutzer sendet Informationen im Dialogfeld, indem er auf eine Schaltfläche klickt. | SUBMIT_DIALOG |
Die Chat-App wechselt entweder zu einem anderen Dialogfeld oder schließt das Dialogfeld, um die Interaktion abzuschließen. |
Ein Nutzer verlässt oder schließt das Dialogfeld, bevor er Informationen sendet. | CANCEL_DIALOG |
Optional kann die Chat-App mit einer neuen Nachricht antworten oder die Nachricht oder Karte aktualisieren, über die der Nutzer das Dialogfeld geöffnet hat. |
Weitere Informationen finden Sie unter Interaktive Dialogfelder öffnen.
Ereignisse zu Interaktionen mit der Chat App empfangen
In diesem Abschnitt wird beschrieben, wie Sie Interaktionsereignisse für Ihre Chat-App empfangen und verarbeiten.
Chat-App für den Empfang von Interaktionsereignissen konfigurieren
Nicht alle Chat-Apps sind interaktiv. Eingehende Webhooks können beispielsweise nur ausgehende Nachrichten senden und nicht auf Nutzer reagieren. Wenn Sie eine interaktive Chat-App entwickeln, müssen Sie einen Endpunkt auswählen, über den Ihre Chat-App Interaktionsereignisse empfangen, verarbeiten und darauf reagieren kann. Weitere Informationen zum Entwerfen Ihrer Chat-App finden Sie unter Implementierungsarchitekturen für Chat-Apps.
Für jede interaktive Funktion, die Sie erstellen möchten, müssen Sie die Konfiguration in der Chat API aktualisieren, damit Google Chat entsprechende Interaktionsereignisse an Ihre Chat-App senden kann:
Rufen Sie in der Google Cloud Console die Seite „Chat API“ auf und klicken Sie auf die Seite Konfiguration:
Sehen Sie sich unter Interaktive Funktionen die Einstellungen an und aktualisieren Sie sie entsprechend den Funktionen, die Sie entwickeln möchten:
Feld Beschreibung Funktionen Erforderlich. Eine Reihe von Feldern, die festlegen, wie eine Chat-App mit Nutzern interagieren kann. Standardmäßig können Nutzer die Chat-App direkt in Google Chat finden und Nachrichten an sie senden. - Gruppenbereichen und Gruppenunterhaltungen beitreten: Nutzer können die Chat App Gruppenbereichen und Gruppenunterhaltungen hinzufügen.
Verbindungseinstellungen Erforderlich. Der Endpunkt für die Chat-App, der einer der folgenden ist: - HTTP-Endpunkt-URL: Ein HTTPS-Endpunkt, auf dem die Chat-App-Implementierung gehostet wird.
- Apps Script: Eine Bereitstellungs-ID für ein Apps Script-Projekt, in dem eine Chat-App implementiert ist.
- Cloud Pub/Sub-Themenname: Ein Pub/Sub-Thema, das die Chat-App als Endpunkt abonniert.
- Dialogflow: Registriert die Chat-App mit einer Dialogflow-Integration. Weitere Informationen finden Sie unter Dialogflow-Google Chat-App erstellen, die natürliche Sprache versteht.
Befehle Optional. Slash-Befehle und Schnellbefehle für die Chat-App. Mit Befehlen können Nutzer eine Aktion anfordern oder eine bestimmte Funktion Ihrer Chat-App verwenden. Weitere Informationen finden Sie unter Auf Google Chat-App-Befehle reagieren. Linkvorschauen Optional. URL-Muster, die die Chat-App erkennt und für die sie zusätzliche Inhalte bereitstellt, wenn Nutzer Links senden. Weitere Informationen finden Sie unter Vorschaulinks. Sichtbarkeit Optional. Bis zu fünf Einzelpersonen oder eine oder mehrere Google-Gruppen, die Ihre Chat-App ansehen und installieren können. Verwenden Sie dieses Feld, um Ihre Chat-App zu testen oder sie mit Ihrem Team zu teilen. Weitere Informationen finden Sie unter Interaktive Funktionen testen. Klicken Sie auf Speichern. Wenn Sie die Konfiguration der Chat-App speichern, ist sie für die angegebenen Nutzer in Ihrer Google Workspace-Organisation verfügbar.
Ihre Chat-App ist jetzt so konfiguriert, dass sie Interaktionsereignisse von Google Chat empfängt.
Wiederholungsversuche von HTTP-Aufrufen an Ihren Dienst verarbeiten
Wenn eine HTTPS-Anfrage an Ihren Dienst fehlschlägt (z. B. aufgrund eines Zeitlimits, eines vorübergehenden Netzwerkfehlers oder eines HTTPS-Statuscodes, der nicht mit „2xx“ beginnt), versucht Google Chat möglicherweise, die Zustellung innerhalb weniger Minuten einige Male zu wiederholen. Dies ist jedoch nicht garantiert. Daher kann es vorkommen, dass eine Chat-App in bestimmten Situationen dieselbe Nachricht mehrmals empfängt. Wenn die Anfrage erfolgreich abgeschlossen wird, aber eine ungültige Nachrichtennutzlast zurückgibt, wird die Anfrage von Google Chat nicht wiederholt.
Interaktionsereignisse verarbeiten oder darauf reagieren
In diesem Abschnitt wird erläutert, wie Google Chat-Apps Interaktionsereignisse verarbeiten und darauf reagieren können.
Nachdem Ihre Chat-App ein Interaktionsereignis von Google Chat empfangen hat, kann sie auf verschiedene Arten reagieren. In vielen Fällen antworten interaktive Chat-Apps dem Nutzer mit einer Nachricht. Die Google Chat App kann auch Informationen aus einer Datenquelle abrufen, Informationen zum Interaktionsereignis aufzeichnen oder so gut wie alles andere tun. Dieses Verhalten bei der Verarbeitung definiert im Wesentlichen die Google Chat App.
Um synchron zu antworten, muss eine Chat-App innerhalb von 30 Sekunden antworten und die Antwort muss in dem Gruppenbereich gepostet werden, in dem die Interaktion stattgefunden hat. Andernfalls kann die Chat-App asynchron antworten.
Für jedes Interaktionsereignis empfangen Chat-Apps einen Anfragetext, die JSON-Nutzlast, die das Ereignis darstellt. Sie können die Informationen verwenden, um eine Antwort zu verarbeiten. Beispiele für Ereignisnutzlasten finden Sie unter Arten von Interaktionsereignissen für Chat-Apps.
Das folgende Diagramm zeigt, wie Google Chat-Apps in der Regel verschiedene Arten von Interaktionsereignissen verarbeiten oder darauf reagieren:
In Echtzeit antworten
Mit Interaktionsereignissen können Chat-Apps in Echtzeit oder synchron reagieren. Für synchrone Antworten ist keine Authentifizierung erforderlich.
Damit die Chat-App in Echtzeit antworten kann, muss sie ein Message
-Objekt zurückgeben. Wenn Sie mit einer Nachricht antworten möchten, kann das Message
-Objekt die Objekte text
, cardsV2
und accessoryWidgets
enthalten. Informationen zur Verwendung mit anderen Antworttypen finden Sie in den folgenden Anleitungen:
Mit Nachricht antworten
In diesem Beispiel erstellt und sendet Ihre Chat-App eine SMS, wenn sie einem Gruppenbereich hinzugefügt wird. Best Practices für das Onboarding von Nutzern
Wenn Sie eine SMS senden möchten, wenn ein Nutzer Ihre Chat-App einem Gruppenbereich hinzufügt, muss Ihre Chat-App auf ein ADDED_TO_SPACE
-Interaktionsereignis reagieren. Wenn Sie auf ADDED_TO_SPACE
-Interaktionsereignisse mit einer SMS antworten möchten, verwenden Sie den folgenden Code:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The event object from Chat API.
* @param {Object} res The response object from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if (req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
Das Codebeispiel gibt die folgende SMS zurück:
Asynchron antworten
Manchmal müssen Chat-Apps innerhalb von 30 Sekunden auf ein Interaktionsereignis reagieren oder Aufgaben außerhalb des Gruppenbereichs ausführen, in dem das Interaktionsereignis generiert wurde. Eine Chat-App muss beispielsweise auf den Nutzer reagieren, nachdem eine lang andauernde Aufgabe abgeschlossen wurde. In diesem Fall können Chat-Apps asynchron antworten, indem sie die Google Chat API aufrufen.
Informationen zum Erstellen einer Nachricht mit der Chat API finden Sie unter Nachricht erstellen. Anleitungen zur Verwendung zusätzlicher Chat API-Methoden finden Sie in der Chat API-Übersicht.
Weitere Informationen
- Nachricht senden
- Interaktive Dialogfelder öffnen
- Vorschaulinks
- Von Nutzern in Karten eingegebene Formulardaten lesen
- Auf Befehle reagieren
- Startseite für eine Chat-App erstellen
- Anfragen aus Chat bestätigen
- Interaktive Funktionen für Google Chat-Apps testen