Auf dieser Seite werden gängige Ansätze für die Dienstarchitektur beschrieben, die zum Erstellen von Google Chat-Apps verwendet werden. Wenn Sie eine vorhandene App haben, die Sie in Google Chat einbinden möchten, können Sie Ihre vorhandene Implementierung verwenden oder anpassen. Wenn Sie eine neue Chat-App entwickeln, finden Sie auf dieser Seite ähnliche Informationen auf unterschiedliche Weise, um die für Ihren Anwendungsfall geeignete Architektur auszuwählen:
- Übersichtstabelle
- Hier finden Sie eine Zusammenfassung der einzelnen Architekturstile.
- Hier finden Sie eine Zusammenfassung der Logik der Chat App.
- Zusammenfassung nach Konversationsmustern der Chat-App
Übersicht nach Funktionen und Fähigkeiten
In der folgenden Tabelle sind die wichtigsten Funktionen und Merkmale von Chat-Apps und der empfohlene Dienstarchitekturstil (
) aufgeführt. In einigen Fällen ist es möglich, mit diesen Funktionen einen anderen Architekturstil zu entwickeln, der jedoch nicht so gut zum Anwendungsfall passt wie andere Stile ( ).Funktionen |
Web- oder HTTP-Dienst |
Pub/Sub |
Webhooks |
Apps Script |
AppSheet |
Dialogflow |
Script |
---|---|---|---|---|---|---|---|
Gewünschte Zielgruppe |
|||||||
Dein Team |
|||||||
Meine Organisation |
|||||||
Die Öffentlichkeit |
|||||||
Nutzerinteraktion |
|||||||
Natural Language Processing verwenden |
|||||||
Messaging-Muster |
|||||||
Synchrone Nachrichten senden und empfangen |
|||||||
Synchrone Nachrichten senden und empfangen sowie asynchrone Nachrichten senden |
|||||||
Nur asynchrone Nachrichten senden |
|||||||
Nachrichten von einem externen System an einen einzelnen Google Chat-Bereich senden |
|||||||
Auf andere Dienste und Systeme zugreifen |
|||||||
Integrieren Sie andere Google-Services. |
|||||||
Kommunikation hinter einer Firewall |
|||||||
Chat-Ereignisse abfragen oder abonnieren |
|||||||
Codierungs- und Bereitstellungsstile |
|||||||
Entwicklung ohne Code |
|||||||
Entwicklung mit Low-Code |
|||||||
Entwicklung in einer Programmiersprache Ihrer Wahl |
|||||||
Vereinfachte DevOps-Umgebung |
|||||||
Vollständige DevOps- und CI/CD-Verwaltung |
Stile der Dienstarchitektur
In diesem Abschnitt werden einige der gängigsten Architekturansätze beschrieben, die beim Erstellen von Chat-Apps verwendet werden.
Web- oder HTTP-Dienst
Ein Web- oder HTTP-Dienst ist die am häufigsten verwendete Architektur, da sie Entwicklern die größte Flexibilität beim Erstellen öffentlicher Chat-Apps bietet. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App wird öffentlich im Google Workspace Marketplace bereitgestellt.
- Die Chat-App kann alle Nachrichtenmuster senden und empfangen: synchrone Nachrichten senden und empfangen, asynchrone Nachrichten senden und Nachrichten von einem externen System senden.
- Die Chat-App kann in jeder Programmiersprache entwickelt werden.
- Für die Chat-App ist eine umfassende DevOps- und CI/CD-Verwaltung erforderlich.
- Der Chat-App-Dienst wird in Cloud- oder lokalen Servern implementiert.
In diesem Design konfigurieren Sie Google Chat so, dass er über HTTP in einen Remote-Dienst eingebunden wird, wie im folgenden Diagramm dargestellt:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer HTTP-Chat-App interagiert:
- Ein Nutzer sendet eine Nachricht in einem Google Chat-Bereich an eine Chat-App.
- Eine HTTP-Anfrage wird an einen Webserver gesendet, der entweder ein Cloud- oder ein On-Premises-System ist, das die Logik der Chat-App enthält.
- Optional kann die Logik der Chat-App mit externen Diensten von Drittanbietern interagieren, z. B. mit einem Projektverwaltungssystem oder einem Ticketsystem.
- Der Webserver sendet eine HTTP-Antwort an den Chat App-Dienst in Google Chat zurück.
- Die Antwort wird an den Nutzer gesendet.
- Optional kann die Chat-App die Chat API aufrufen, um asynchron Nachrichten zu posten oder andere Aktionen auszuführen.
Diese Architektur bietet Ihnen die Flexibilität, vorhandene Bibliotheken und Komponenten zu verwenden, die bereits in Ihrem System vorhanden sind, da diese Chat-Apps in verschiedenen Programmiersprachen entwickelt werden können. Es gibt verschiedene Möglichkeiten, diese Architektur zu implementieren. In Google Cloud können Sie Cloud Functions, Cloud Run und App Engine verwenden. Informationen zum Einstieg finden Sie unter Google Chat-App erstellen.
Pub/Sub
Wenn die Chat-App hinter einer Firewall implementiert ist, kann Google Chat keine HTTP-Aufrufe an sie senden. Eine Möglichkeit besteht darin, Pub/Sub zu verwenden, damit die Chat-App-Implementierung ein Thema abonnieren kann, das Nachrichten von Google Chat enthält. Pub/Sub ist ein asynchroner Messaging-Dienst, der Dienste entkoppelt, die Nachrichten von Diensten erzeugen, die diese Nachrichten verarbeiten. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App wird hinter einer Firewall ausgeführt.
- Die Chat-App empfängt Ereignisse zu einem Chatbereich.
- Die Chat-App wird in Ihrer Organisation bereitgestellt.
- Die Chat-App kann synchrone und asynchrone Nachrichten senden und empfangen.
- Die Chat-App kann in jeder Programmiersprache entwickelt werden.
- Für die Chat-App ist eine umfassende DevOps- und CI/CD-Verwaltung erforderlich.
Das folgende Diagramm zeigt die Architektur einer Chat-App, die mit Pub/Sub erstellt wurde:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer Pub/Sub-Chat-App interagiert:
Ein Nutzer sendet eine Nachricht in Google Chat an eine Chat-App, entweder in einer Direktnachricht oder in einem Chatbereich. Es kann auch ein Ereignis in einem Chatbereich auftreten, für das die Chat-App ein aktives Abo hat.
Chat sendet die Nachricht an ein Pub/Sub-Thema.
Ein Anwendungsserver, also ein Cloud- oder On-Premises-System, das die Logik der Chat-App enthält, abonniert das Pub/Sub-Thema, um die Nachricht über die Firewall zu empfangen.
Optional kann die Chat-App die Chat API aufrufen, um asynchron Nachrichten zu posten oder andere Aktionen auszuführen.
Weitere Informationen finden Sie unter Pub/Sub als Endpunkt für Ihre Chat-App verwenden.
Webhooks
Sie können eine Chat-App erstellen, die Nachrichten nur an einen bestimmten Chatbereich senden kann. Dazu müssen Sie eine webhook aufrufen. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App wird für Ihr Team bereitgestellt.
- Die Chat-App sendet Nachrichten von einem externen System an einen einzelnen Chatbereich.
Bei dieser Architektur ist die Chat-App auf einen bestimmten Chatbereich beschränkt und erlaubt keine Nutzerinteraktion, wie im folgenden Diagramm dargestellt:
Im obigen Diagramm sieht der Informationsfluss in einer Chat-App so aus:
- Die Logik der Chat-App empfängt Informationen von externen Drittanbieterdiensten, z. B. von einem Projektverwaltungssystem oder einem Ticketsystem.
- Die Logik der Chat-App wird entweder in der Cloud oder in einem lokalen System gehostet, das Nachrichten über eine Webhook-URL an einen bestimmten Google Chat-Bereich senden kann.
- Nutzer können in diesem bestimmten Chat-Gruppenbereich Nachrichten von der Chat-App empfangen, aber nicht mit der Chat-App interagieren.
Diese Art von Chat-App kann nicht in anderen Chatbereichen oder mit anderen Teams geteilt und nicht im Google Workspace Marketplace veröffentlicht werden. Eingehende Webhooks werden für Chat-Apps empfohlen, um Benachrichtigungen oder den Status zu melden, oder für einige Arten von Chat-App-Prototyping.
Weitere Informationen finden Sie unter Mit Webhooks Nachrichten an Google Chat senden.
Apps Script
Sie können die Logik Ihrer Chat-App vollständig in JavaScript erstellen. Google Apps Script ist eine Low-Code-Entwicklungsplattform für Chat-Apps. Apps Script verarbeitet den Autorisierungsablauf und die OAuth 2.0-Tokens für die Nutzerauthentifizierung. Sie können Apps Script verwenden, um öffentliche Chat-Apps zu erstellen. Aufgrund der täglichen Kontingente und Limits wird dies jedoch nicht empfohlen.
Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App wird für Ihr Team oder Ihre Organisation bereitgestellt.
- Die Chat-App kann alle Nachrichtenmuster senden und empfangen: synchrone Nachrichten senden und empfangen, asynchrone Nachrichten senden und Nachrichten von einem externen System senden.
- Die Chat-App erfordert eine vereinfachte DevOps-Verwaltung.
Diese Architektur eignet sich für Chat-Apps, die auch mit anderen Google Workspace- und Google-Diensten wie Google Tabellen, Google Präsentationen, Google Kalender, Google Drive, Google Maps und YouTube verknüpft sind, wie im folgenden Diagramm dargestellt:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer Apps Script-Chat-App interagiert:
- Ein Nutzer sendet eine Nachricht an eine Chat-App, entweder in einer Direktnachricht oder in einem Chat-Bereich.
- Die Chat-App-Logik, die in Apps Script implementiert ist und sich in Google Cloud befindet, empfängt die Nachricht.
- Optional kann die Logik der Chat-App in Google Workspace-Dienste wie Google Kalender oder Google Tabellen oder in andere Google-Dienste wie Google Maps oder YouTube eingebunden werden.
- Die Logik der Chat-App sendet eine Antwort an den Chat-App-Dienst in Google Chat zurück.
- Die Antwort wird an den Nutzer gesendet.
Eine Einführung finden Sie unter Chat-App mit Apps Script erstellen.
AppSheet
Mit AppSheet können Sie eine domainfreigegebene Chat-App ganz ohne Programmieren erstellen. Sie können den Entwicklungsprozess vereinfachen, indem Sie den automatischen Konfigurationsmodus verwenden und Vorlagen für häufig verwendete Chat-App-Aktionen verwenden. Einige AppSheet-Web-App-Funktionen sind in Chat-Apps jedoch nicht verfügbar.
Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App wird für Sie und Ihr Team bereitgestellt.
- Die Chat-App kann synchrone und asynchrone Nachrichten senden und empfangen.
- Die Chat-App erfordert eine vereinfachte DevOps-Verwaltung.
Das folgende Diagramm zeigt die Architektur einer Chat-App, die mit AppSheet erstellt wurde:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer AppSheet-Chat-App interagiert:
- Ein Nutzer sendet eine Nachricht in Google Chat an eine Chat-App, entweder in einer Direktnachricht oder in einem Gruppenbereich.
- Die Chat-App-Logik, die in AppSheet implementiert ist und sich in Google Cloud befindet, empfängt die Nachricht.
- Optional kann die Logik der Chat-App in Google Workspace-Dienste wie Apps Script oder Google Tabellen eingebunden werden.
- Die Logik der Chat-App sendet eine Antwort an den Chat-App-Dienst in Google Chat zurück.
- Die Antwort wird an den Nutzer gesendet.
Weitere Informationen finden Sie unter Chat-App mit AppSheet erstellen.
Dialogflow
Sie können eine Chat-App mit Dialogflow erstellen, einer Plattform für natürliche Sprache für automatisierte Unterhaltungen und dynamische Antworten. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App kann synchrone Nachrichten senden und empfangen.
- Die Chat-App verwendet Natural Language Processing, um auf Nutzer zu reagieren und mit ihnen zu interagieren.
Das folgende Diagramm zeigt die Architektur einer Chat-App, die mit Dialogflow erstellt wurde:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer Dialogflow-Chat-App interagiert:
- Ein Nutzer sendet eine Nachricht in Google Chat an eine Chat-App, entweder in einer Direktnachricht oder in einem Gruppenbereich.
- Ein Dialogflow-virtueller Agent in Google Cloud empfängt und verarbeitet die Nachricht, um eine Antwort zu generieren.
- Optional kann der Dialogflow-Kundenservicemitarbeiter über einen Dialogflow-Webhook mit externen Diensten von Drittanbietern wie einem Projektverwaltungssystem oder einem Ticketsystem interagieren.
- Der Dialogflow-Agent sendet eine Antwort an den Chat-App-Dienst in Google Chat zurück.
- Die Antwort wird an den Chatbereich gesendet.
Informationen zum Einstieg finden Sie unter Dialogflow-Google Chat-App erstellen.
Befehlszeilenanwendung oder ‑script
Sie können eine Befehlszeilenanwendung oder ein Script erstellen, mit der bzw. dem Nachrichten an Google Chat gesendet oder andere Vorgänge ausgeführt werden, z. B. das Erstellen eines Gruppenbereichs oder das Verwalten der Mitglieder eines Gruppenbereichs, ohne dass Nutzer die Chat-App in Google Chat direkt aufrufen oder darauf antworten können. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:
- Die Chat-App kann in jeder Programmiersprache entwickelt werden.
- Die Chat App kann nur asynchrone Nachrichten senden.
Im folgenden Diagramm wird diese Architektur dargestellt:
Im vorherigen Diagramm ist der Informationsfluss in der Chat-App so dargestellt:
- Die Chat-App ruft die Chat API auf, um eine Nachricht zu senden oder eine andere Aktion auszuführen.
- Der angeforderte Vorgang wird ausgeführt.
- Optional druckt die Chat-App eine Bestätigung in der Befehlszeile aus.
Implementierung der Chat-App-Logik
Google Chat schränkt die Implementierung der Chat-App-Logik nicht ein. Sie können einen Befehlsparser mit fester Syntax erstellen, erweiterte KI- und Sprachverarbeitungsbibliotheken oder ‑dienste verwenden, Ereignisse abonnieren und darauf reagieren oder alles andere tun, was für Ihre spezifischen Ziele geeignet ist.
Nutzerinteraktionen verarbeiten
Die Chat-App kann Nutzerinteraktionen auf verschiedene Arten empfangen und darauf reagieren. Eine Nutzerinteraktion ist jede Aktion, die ein Nutzer ausführt, um eine Chat-App aufzurufen oder mit ihr zu interagieren.
Befehlsparser
Bei kommandogen Chat-Apps wird die Nutzlast von Interaktionsereignissen von Chat-Apps geprüft und dann werden Befehle und Parameter aus diesen Inhalten extrahiert. Weitere Informationen finden Sie beispielsweise unter Slash-Befehle zur Interaktion mit Google Chat-Nutzern einrichten.
Ein anderer Ansatz besteht darin, die Nachricht zu tokenisieren, den Befehl zu extrahieren und dann auf ein Wörterbuch zu verweisen, das Befehle den entsprechenden Handlerfunktionen zuordnet.
Dialogorientierte Benutzeroberfläche
Dialogorientierte Apps reagieren auf Interaktionsereignisse der Chat-App, indem sie cardbasierte Dialogfelder anzeigen, in denen Nutzer mit der Chat-App interagieren können, z. B. Formulare ausfüllen oder Aktionen anfordern.
Jedes Mal, wenn der Nutzer eine Aktion in einem Dialog ausführt, wird ein neues Interaktionsereignis an die Chat-App gesendet. Diese kann dann reagieren, indem sie den Dialog aktualisiert oder eine Nachricht sendet.
Natural Language Processing
Viele Chat-App-Implementierungen verwenden Natural Language Processing (NLP), um zu ermitteln, wonach der Nutzer fragt. Es gibt viele Möglichkeiten, NLP zu implementieren.
Sie können NLP in Ihrer Chat-App-Implementierung mit Dialogflow ES oder der Dialogflow CX-Chat-Integration verwenden. So können Sie virtuelle Kundenservicemitarbeiter für automatisierte Unterhaltungen und dynamische Antworten erstellen.
Proaktiv Anfragen an Google Chat senden
Chat-Apps können auch Nachrichten oder andere Anfragen an Google Chat senden, die nicht durch direkte Nutzerinteraktionen in Google Chat ausgelöst werden. Stattdessen können diese Chat-Apps ausgelöst werden, z. B. durch Drittanbieteranwendungen oder über eine Befehlszeile, die von einem Nutzer aufgerufen wird. Nutzer können jedoch nicht direkt in Google Chat mit diesen Chat-Apps interagieren.
Nicht interaktive Chat-Apps verwenden die Chat API, um Nachrichten oder andere Arten von Anfragen an Google Chat zu senden.
Konversationsmuster
Überlegen Sie, wie Ihre Chat-App mit Nutzern interagieren soll. In den folgenden Abschnitten werden Konversationsmuster beschrieben, die in Ihrer Chat-App implementiert werden können.
Aufruf und Antwort (synchron)
Bei einem synchronen Aufruf- und Antwortmuster antwortet die Chat-App auf Nachrichten von Nutzern individuell. Eine Nachricht eines Nutzers an die Chat-App führt zu einer Antwort von der Chat-App, wie im folgenden Diagramm dargestellt:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer Chat-App interagiert:
- Ein Nutzer sendet eine synchrone Nachricht an eine Chat-App, z. B. „Wann ist mein nächster Termin?“.
- Die Chat-App sendet eine synchrone Nachricht an den Nutzer, z. B. „Dr. Silva um 14:30“.
Für diese Art von Konversationsmuster können Sie eine Chat-App-Architektur mit einem Webdienst, Pub/Sub, Apps Script, AppSheet oder Dialogflow implementieren.
Mehrere Antworten (asynchron)
Das Muster für mehrere Antworten kann synchrone und asynchrone Nachrichten enthalten. Dieses Muster zeichnet sich durch eine Zwei-Wege-Kommunikation zwischen Nutzern und der Chat-App aus. Dabei generiert die Chat-App eine beliebige Anzahl zusätzlicher Nachrichten, wie im folgenden Diagramm dargestellt:
Im vorherigen Diagramm wird der Informationsfluss für einen Nutzer dargestellt, der mit einer Chat-App interagiert:
- Ein Nutzer sendet eine synchrone Nachricht an eine Chat-App, z. B. „Verkehr überwachen“.
- Die Chat-App sendet eine synchrone Nachricht an den Nutzer, um die Anfrage zu bestätigen, z. B. „Monitoring aktiviert“.
- Später sendet die Chat-App eine oder mehrere asynchrone Nachrichten an den Nutzer, indem sie die REST API aufruft, z. B. „Neue Zugriffe“.
- Der Nutzer sendet eine zusätzliche synchrone Nachricht an die Chat-App, z. B. „Verkehr ignorieren“.
- Die Chat-App sendet eine synchrone Nachricht an den Nutzer, um die Anfrage zu bestätigen, z. B. „Monitoring aus“.
Für diese Art von Konversationsmuster können Sie eine Chat-App-Architektur mit einem Webdienst, Pub/Sub, Apps Script oder AppSheet implementieren.
Ereignisse abfragen oder abonnieren (asynchron)
Bei einem asynchronen ereignisbasierten Muster empfängt die Chat-App Ereignisse, indem sie entweder die Chat API abfragt oder ein Abo für einen Chat-Gruppenbereich oder Nutzer mit der Google Workspace Events API erstellt. Ereignisse beschreiben Änderungen an Chatressourcen, z. B. wenn eine neue Nachricht gepostet wird oder ein Nutzer einem Gruppenbereich beitritt. Ereignisgesteuerte Chat-Apps prüfen die Ereignisnutzlast, um Daten zur geänderten Chatressource abzurufen, und reagieren dann entsprechend.
Chat-Apps können viele Arten von Ereignissen empfangen, z. B. Ereignisse zu Gruppenbereichen, Mitgliedschaften, Nachrichten und Reaktionen. Wenn eine Chat-App ein Ereignis durch Abfragen der Chat API oder über ein aktives Abo empfängt, kann sie optional eine beliebige Anzahl von asynchronen Antworten generieren, die sie über die Chat API an Google Chat zurücksendet.
Mit dieser Art von Logik können Sie externe Systeme wie ein Ticketverwaltungssystem aktualisieren oder Nachrichten asynchron an einen Chatbereich senden, z. B. eine Begrüßungsnachricht, wenn ein neuer Nutzer einem Chatbereich beitritt.
Das folgende Diagramm zeigt ein Beispiel für ein ereignisgesteuertes Konversationsmuster:
Im vorherigen Diagramm ist der Informationsfluss bei der Interaktion zwischen Google Chat und der Chat App dargestellt:
- Die Chat-App abonniert einen Google Chat-Bereich.
- Der Bereich, für den die Chat-App abonniert ist, ändert sich.
- Die Chat-App sendet ein Ereignis an ein Thema in Pub/Sub, das als Benachrichtigungsendpunkt für das Abo dient. Das Ereignis enthält Daten dazu, was sich an der Ressource geändert hat.
- Die Chat-App verarbeitet die Pub/Sub-Nachricht, die das Ereignis enthält, und ergreift bei Bedarf Maßnahmen.
Für diese Art von Konversationsmuster können Sie eine Chat-App-Architektur mit Pub/Sub, einem Webdienst oder Apps Script implementieren.
Weitere Informationen zum Empfangen und Beantworten von Ereignissen finden Sie unter Mit Ereignissen aus Google Chat-Ereignissen arbeiten.
Einwegnachricht von einer Chat-App
Mit einem Muster für eine einseitige Nachricht von einer Chat-App kann eine Chat-App asynchrone Nachrichten an einen Chatbereich senden, Nutzer können jedoch nicht direkt mit der Chat-App interagieren. Dieses Muster ist nicht konversationsorientiert oder interaktiv, kann aber für Dinge wie Alarmmeldungen nützlich sein, wie im folgenden Diagramm dargestellt:
Im vorherigen Diagramm sieht der Informationsfluss für einen Nutzer im selben Gruppenbereich wie die Chat-App so aus:
- Die Chat-App sendet eine asynchrone Nachricht an den Nutzer, indem sie die Chat API aufruft oder eine Nachricht an eine Webhook-URL postet, z. B. „Benachrichtigung bei Warteschlangenüberlauf“.
- Optional sendet die Chat-App zusätzliche asynchrone Nachrichten.
Für diese Art von Konversationsmuster können Sie eine Chat-App-Architektur mit einem Webdienst, einem Webhook, Apps Script, AppSheet, einer Befehlszeilenanwendung oder einem Script implementieren.
Einseitige Nachricht an eine Chat-App
Mit einem Muster für eine einseitige Nachricht an eine Chat-App kann ein Nutzer eine Chat-App kontaktieren, ohne dass die Chat-App antwortet, während die Anfrage verarbeitet wird. Diese Architektur ist zwar technisch möglich, führt aber zu einer schlechten Nutzererfahrung. Wir raten daher dringend davon ab.
Weitere Informationen
- Google Chat-App erstellen
- Pub/Sub als Endpunkt für Ihre Chat-App verwenden
- Mithilfe von eingehenden Webhooks Nachrichten an Google Chat senden
- Chat-App mit Apps Script erstellen
- Mit AppSheet eine Chatnachricht über eine Automatisierung senden
- Dialogflow ES-Chat-Integration
- Dialogflow CX-Chat-Integration