Architektur einer Google Chat-App auswählen

Auf dieser Seite werden gängige Ansätze der Dienstarchitektur beschrieben, mit denen Google Chat-Apps zu erstellen. Wenn Sie bereits eine App haben, können Sie Ihre bestehende Implementierung verwenden oder anpassen. Wenn Sie eine neue Chat-App erstellen, ähnliche Informationen auf verschiedene Arten zur Auswahl der Architektur. für Ihren Anwendungsfall:

Übersicht nach Funktionen

In der folgenden Tabelle sind die wichtigsten Funktionen und Möglichkeiten von Chat-Apps und die empfohlenen Apps Dienstarchitekturstil (). In einigen Fällen ist mitunter die Entwicklung eines anderen Architekturstils möglich. aber nicht so gut für den Anwendungsfall geeignet ist 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

Nutzerinteraktivität

Natural Language Processing verwenden

Messaging-Muster

Synchrone Nachrichten senden und empfangen

Synchrone Nachrichten senden und empfangen und asynchrone Nachrichten senden

Nur asynchrone Nachrichten senden

Nachrichten von einem externen System an einen einzelnen Chatbereich senden

Auf andere Dienste und Systeme zugreifen

Integrieren Sie andere Google-Services.

Kommunikation hinter einer Firewall

Chatereignisse abfragen oder abonnieren

Programmier- und Bereitstellungsstile

Entwicklung ohne Code

Entwicklung mit wenig Code

Entwicklung in einer Programmiersprache Ihrer Wahl

Vereinfachtes DevOps

Vollständige DevOps- und CI/CD-Verwaltung

Dienstarchitekturstile

In diesem Abschnitt werden einige der gängigsten Architekturansätze beschrieben, die verwendet werden, um Chat-Apps zu erstellen.

Web- oder HTTP-Dienst

Ein Web- oder HTTP-Dienst ist die am häufigsten bereitgestellte Architektur, weil bietet es Entwicklern die größtmögliche Flexibilität, Chat-Apps. Diese Architektur wird empfohlen für Anwendungsfälle:

  • Die Chat-App ist auf Google Workspace Marketplace
  • Die Chat-App kann alle Nachrichten senden und empfangen Muster: synchrone Nachrichten senden und empfangen, asynchrone Nachrichten senden Nachrichten senden und Nachrichten von einem externen System senden.
  • Die Chat-App wird in jeder Programmierung entwickelt. Sprache.
  • Die Chat-App erfordert vollständige DevOps und CI/CD. zu verstehen.
  • Die Chat-App ist in der Cloud oder lokale Server.

In diesem Design konfigurieren Sie Google Chat für die Integration mit einem Remote-Dienst mithilfe von HTTP ausführen, wie im folgenden Diagramm dargestellt:

Architektur einer Chat-App mit einem Webdienst auf einem lokalen Server

Im obigen Diagramm interagiert ein Nutzer mit einem Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet in einem Chatbereich eine Nachricht an eine Chat-App.
  2. Eine HTTP-Anfrage wird an einen Webserver gesendet, bei dem es sich entweder um eine Cloud- oder Lokales System, das die Chat App enthält Logik.
  3. Optional kann die Chat-App-Logik mit externe Dienste von Drittanbietern, wie z. B. ein Projektmanagementsystem oder Ticketing-Tool.
  4. Der Webserver sendet eine HTTP-Antwort an den Chat-App-Dienst in Google Chat.
  5. Die Antwort wird an den Nutzer gesendet.
  6. Optional kann die Chat-App die Chat-API, um Nachrichten asynchron zu posten oder andere Geschäftsabläufe.

Diese Architektur bietet Ihnen die Flexibilität, vorhandene Bibliotheken und Komponenten, die bereits in Ihrem System vorhanden sind, Chat-Apps können in verschiedenen Programmiersprachen entwickelt werden. Es gibt verschiedene Möglichkeiten, diese Architektur zu implementieren. In Google Cloud Cloud Functions, Cloud Run und App Engine nutzen können. Erste Schritte finden Sie unter Erstellen Sie eine Google Chat App.

Pub/Sub

Ist die Chat-App hinter einer Firewall implementiert, Chat kann keine HTTP-Aufrufe an sie senden. Ein Ansatz besteht darin, Pub/Sub zu aktivieren Sie die Chat-App-Implementierung, um ein Thema, das Nachrichten aus Google Chat enthält. Pub/Sub ist eine asynchrone Messaging-Dienst, der Dienste entkoppelt, die Nachrichten von Diensten Nachrichten zu verarbeiten. Diese Architektur wird empfohlen für Anwendungsfälle:

  • Die Chat-App ist durch eine Firewall geschützt.
  • Chat App erhält Ereignisse zu einem Chatbereich.
  • Die Chat-App wird in Ihrer Organisation bereitgestellt.
  • Die Chat-App kann synchrone und asynchrone Nachrichten senden können.
  • Die Chat-App wird in jeder Programmierung entwickelt. Sprache.
  • Die Chat-App erfordert vollständige DevOps und CI/CD. zu verstehen.

Das folgende Diagramm zeigt die Architektur eines Mit Pub/Sub erstellte Chat-App:

Architektur einer mit Pub/Sub implementierten Chat-App

Im obigen Diagramm interagiert ein Nutzer mit einem Pub/Sub Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet in Google Chat eine Nachricht an einen Chat-App, entweder in einer Direktnachricht oder in einer Chatbereich oder ein Termin in einem Chatbereich für die die Chat-App eine aktive Abo aus.

  2. Chat sendet die Nachricht an ein Pub/Sub-Thema.

  3. Ein Anwendungsserver, also entweder ein Cloud- oder ein lokales System, enthält die Chat-App-Logik, abonniert den Pub/Sub-Thema, um die Nachricht durch die Firewall zu empfangen.

  4. Optional kann die Chat-App die Chat-API, um Nachrichten asynchron zu posten oder andere Geschäftsabläufe.

Erste Schritte finden Sie unter Verwenden Sie Pub/Sub als Endpunkt für Ihre Chat-App.

Webhooks

Sie können eine Chat-App erstellen, die nur Nachrichten senden kann mithilfe von Anrufen in einem bestimmten Chatbereich Webhook-URL. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:

  • Die Chat-App wird für Ihr Team bereitgestellt.
  • Über die Chat App werden Nachrichten von einem externen Nutzer gesendet. mit einem einzelnen Chatbereich verknüpfen.

Mit dieser Architektur ist die Chat-App auf in einen bestimmten Chatbereich verteilt und keine Nutzerinteraktion erlaubt, wie im folgenden Diagramm dargestellt:

Architektur für eingehende Webhooks zum Senden von asynchronen Nachrichten an Google Chat.

Im obigen Diagramm hat eine Chat-App Folgendes: Informationsfluss:

  1. Die Chat-App-Logik empfängt Informationen von externe Dienste von Drittanbietern, wie z. B. ein Projektmanagementsystem oder Ticketing-Tool.
  2. Die Chat-App-Logik wird entweder in einer Cloud oder lokales System, das Nachrichten über eine Webhook-URL an eine einem bestimmten Chatbereich.
  3. Nutzer können Nachrichten aus der Chat App empfangen in Chatbereich, können aber nicht mit dem Chat-App.

Diese Art von Chat-App kann nicht in anderen Chatbereichen oder mit anderen Teams und können nicht in den Google Workspace Marketplace Eingehende Webhooks werden empfohlen für Chat-Apps zum Melden von Benachrichtigungen, Status oder Prototyping für Chat-Apps

Erste Schritte finden Sie unter Nachrichten an Google Chat mit Webhooks senden

Apps Script

Sie können die Chat-App-Logik vollständig in JavaScript Google Apps Script ist eine Low-Code-Entwicklungsplattform für Chat-Apps. Apps Script verarbeitet die Autorisierungsvorgang und die OAuth 2.0-Tokens für die Nutzerauthentifizierung. Sie können Mit Apps Script öffentliche Chat-Apps erstellen, aber das empfohlen aufgrund des Tages Kontingente und Limits.

Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:

  • Die Chat-App wird für Ihr Team bereitgestellt, oder Ihrer Organisation.
  • Die Chat-App kann alle Nachrichten senden und empfangen Muster: synchrone Nachrichten senden und empfangen, asynchrone Nachrichten senden Nachrichten senden und Nachrichten von einem externen System senden.
  • Die Chat-App erfordert vereinfachtes DevOps zu verstehen.

Diese Architektur ist nützlich für Chat-Apps, in die mit anderen Google Workspace- und Google-Diensten, z. B. Google Tabellen, Google Präsentationen, Google Kalender, Google Drive Google Maps und YouTube, wie in den folgendes Diagramm:

Architektur einer mit Apps Script implementierten Chat-App

Im obigen Diagramm interagiert ein Nutzer mit einem Apps Script Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet eine Nachricht an eine Chat-App, entweder in einem oder in einem Chatbereich.
  2. Die Chat-App-Logik, die in Apps Script, das sich in Google Cloud befindet, in der Nachricht.
  3. Optional kann die Chat-App-Logik mit Google Workspace-Dienste wie Google Kalender oder Google Tabellen oder andere Google-Dienste wie Google Maps oder YouTube.
  4. Die Chat-App-Logik sendet eine Antwort an den Chat-App-Dienst in Google Chat.
  5. Die Antwort wird an den Nutzer gesendet.

Erste Schritte finden Sie unter Chat-App mit Apps Script erstellen

AppSheet

Sie können eine in der Domain freigegebene Chat-App ohne Code erstellen mit AppSheet. Sie können den Entwicklungsprozess vereinfachen, indem Sie den automatischen Konfigurationsmodus und die folgenden Vorlagen verwenden, Chat-App-Aktionen. Einige Die Funktionen der AppSheet-Web-App sind in Chat-Apps nicht verfügbar.

Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:

  • Die Chat-App ist für Sie und Ihr Team bereitgestellt.
  • Die Chat-App kann synchrone und asynchrone Nachrichten senden können.
  • Die Chat-App erfordert vereinfachtes DevOps zu verstehen.

Das folgende Diagramm zeigt die Architektur eines Mit AppSheet erstellte Chat-App:

Architektur einer mit AppSheet implementierten Chat-App

Im obigen Diagramm interagiert ein Nutzer mit AppSheet. Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet in Google Chat eine Nachricht an einen Chat-App, entweder in einer Direktnachricht oder in einer Chatbereich.
  2. Die Chat-App-Logik, die in AppSheet, das sich in Google Cloud befindet, erhält die angezeigt.
  3. Optional kann die Chat-App-Logik mit Google Workspace-Dienste wie Apps Script oder Google Tabellen.
  4. Die Chat-App-Logik sendet eine Antwort an den Chat-App-Dienst in Google Chat.
  5. Die Antwort wird an den Nutzer gesendet.

Erste Schritte finden Sie unter Chat-App mit AppSheet erstellen

Dialogflow

Sie können eine Chat-App mit Dialogflow erstellen, einem Natural Language-Plattform für automatisierte Unterhaltungen und dynamische Antworten. Diese Architektur wird für die folgenden Anwendungsfälle empfohlen:

  • Die Chat-App kann synchrone Nachrichten.
  • Die Chat App verwendet Natural Language Processing um mit Nutzenden zu reagieren.

Das folgende Diagramm zeigt die Architektur eines Mit Dialogflow erstellte Chat-App:

Architektur einer mit Dialogflow implementierten Chat-App

Im obigen Diagramm interagiert ein Nutzer mit einem Dialogflow-Konto Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet in Google Chat eine Nachricht an einen Chat-App, entweder in einer Direktnachricht oder in einer Chatbereich.
  2. Ein virtueller Dialogflow-Kundenservicemitarbeiter in Google Cloud empfängt und verarbeitet die Nachricht, um eine Antwort zu generieren.
  3. Optional können Sie mit einem Dialogflow-Webhook kann der Dialogflow-Agent mit externen Diensten von Drittanbietern interagieren, z. B. Projektmanagementsystem oder Ticketing-Tool ist.
  4. Der Dialogflow-Agent sendet eine Antwort an den Chat-App-Dienst in Google Chat.
  5. Die Antwort wird an den Chatbereich gesendet.

Erste Schritte finden Sie unter Dialogflow-Google Chat-App erstellen

Befehlszeilenanwendung oder -skript

Sie können eine Befehlszeilenanwendung oder ein Skript erstellen, das Nachrichten an Google Chat senden oder andere Vorgänge ausführen, z. B. oder die Mitglieder eines Gruppenbereichs verwalten, ohne dass Nutzer die Chat-App in Chat Diese Architektur wird für die folgende Verwendung empfohlen Cases:

  • Die Chat-App wird in jeder Programmierung entwickelt. Sprache.
  • Die Chat-App kann nur asynchrone Nachrichten senden.

Im folgenden Diagramm wird diese Architektur dargestellt:

Architektur einer Chat-App, die mit einer Befehlszeilenanwendung oder einem Script implementiert wurde

Im obigen Diagramm hat die Chat-App die Berechtigung folgenden Informationsfluss:

  1. Die Chat-App ruft die Chat API auf, um eine oder eine andere Operation ausführen.
  2. Chat führt den angeforderten Vorgang aus.
  3. Optional: Die Chat-App druckt eine Bestätigung in über die Befehlszeile.

Chat-App-Logik implementieren

Google Chat schränkt die Implementierung des Chat-App-Logik. Sie können einen Befehl mit fester Syntax erweiterte KI- und Sprachverarbeitungsbibliotheken oder -dienste nutzen, abonnieren, und auf Ereignisse reagieren oder etwas anderes, das für Ihre Ziele geeignet ist.

Nutzerinteraktionen verarbeiten

Die Chat-App kann Nutzerinteraktionen empfangen und darauf reagieren in vielerlei Hinsicht nutzen. Eine User-Interaktion ist jede Aktion, die Nutzende Chat-App aufrufen oder mit ihr interagieren

Befehlsparser

Kommandogesteuerte Chat-Apps prüfen die Nutzlast von Chat-App-Interaktionsereignisse und dann Befehle und Parameter aus diesem Inhalt extrahieren. Siehe zum Beispiel Slash-Befehle für die Interaktion mit Chat-Nutzern einrichten

Ein weiterer Ansatz besteht darin, die Nachricht zu tokenisieren, den Befehl zu extrahieren und dann auf ein Wörterbuch verweisen, das Handler-Funktionen für die einzelnen Befehle zuordnet.

Dialogbasierte Benutzeroberfläche

Dialogbasierte Apps reagieren auf Chat-App-Interaktionsereignisse indem Sie kartenbasierte Dialogfelder, in denen kann der Nutzer mit der Chat-App interagieren, Formulare ausfüllen oder zu Aktionen auffordern.

Jedes Mal, wenn der Nutzer eine Aktion in einem Dialogfeld ausführt, wird ein neues Interaktionsereignis die an die Chat-App gesendet wird, die durch Aktualisieren der oder das Senden einer Nachricht.

Natural Language Processing

Viele Implementierungen von Chat-Apps verwenden natürliche Sprache um zu bestimmen, wonach der Nutzer fragt. Es gibt viele Möglichkeiten, um NLP zu implementieren. Sie können NLP jedoch beliebig implementieren.

Sie können NLP in Ihrem Chat-App implementieren mit Dialogflow ES oder Einbindung von Chats in Dialogflow CX-Chat mit dem Sie virtuelle Kundenservicemitarbeiter für automatisierte Unterhaltungen und dynamische Antworten.

Proaktiv Anfragen an Google Chat senden

Chat-Apps können auch Nachrichten oder andere Anfragen an Chat, die nicht durch direkte Nutzerinteraktionen in Chat Stattdessen können diese Chat-Apps ausgelöst werden, z. B. durch Anwendungen von Drittanbietern oder eine Befehlszeile von einem Nutzer aufgerufen, aber die Nutzer können nicht mit ihnen interagieren. Chat-Apps direkt in Google Chat.

Nicht interaktive Chat-Apps verwenden die Chat API zum Senden von Nachrichten Nachrichten oder andere Anfragen an Google Chat senden.

Konversationsmuster

Sie sollten sich überlegen, wie Ihre Chat-App mit Nutzenden interagieren. In den folgenden Abschnitten werden Gesprächsmuster beschrieben, die Ihre Chat-App implementieren könnte.

Aufruf und Antwort (synchron)

Bei einem synchronen Aufruf- und Antwortmuster Die Chat-App antwortet auf Nachrichten von Nutzern auf einem in zwei oder mehr Einzelgesprächen. Eine Nachricht eines Nutzers an die Chat-App zu einer Antwort von der Chat-App führt, wie in folgendes Diagramm:

Architektur einer synchronen Nachricht.

Im obigen Diagramm interagiert ein Nutzer mit einem Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet eine synchrone Nachricht an einen Chat-App, z. B. „Was ist meine nächste Besprechung?“
  2. Die Chat-App sendet eine synchrone Nachricht an den z. B. „Dr. Silva bei 2:30".

Für diese Art von Konversationsmuster können Sie eine Architektur einer Chat-App mit einem Webdienst, Pub/Sub, Apps Script, AppSheet oder Dialogflow.

Mehrfachantworten (asynchron)

Das Muster für mehrere Antworten kann synchrone und asynchrone Antworten enthalten. Nachrichten. Dieses Muster ist durch eine bidirektionale Kommunikation zwischen Nutzenden gekennzeichnet. und die Chat-App mit der Chat-App generiert eine beliebige Anzahl zusätzlicher Nachrichten, wie im folgenden Diagramm dargestellt:

Architektur einer asynchronen Nachricht.

Im obigen Diagramm interagiert ein Nutzer mit einem Die Chat-App umfasst den folgenden Informationsfluss:

  1. Ein Nutzer sendet eine synchrone Nachricht an einen Chat-App, z. B. „Traffic überwachen“
  2. Die Chat-App sendet eine synchrone Nachricht an den Nutzer, die Anfrage zu bestätigen, z. B. „Überwachung aktiviert“.
  3. Später sendet die Chat-App eine oder mehrere durch Aufrufen der REST API an den Nutzer senden, zum Beispiel "Neuer Traffic".
  4. Der Nutzer sendet eine zusätzliche synchrone Nachricht an den Chat-App, z. B. „Traffic ignorieren“
  5. Die Chat-App sendet eine synchrone Nachricht an den Nutzer, die Anfrage zu bestätigen, z. B. „Überwachung aus“.

Für diese Art von Konversationsmuster können Sie eine Architektur einer Chat-App mit einem Webdienst, Pub/Sub, Apps Script oder AppSheet.

Ereignisse abfragen oder abonnieren (asynchron)

In einem asynchronen ereignisgesteuerten Muster Ereignisse empfängt, indem er entweder die Chat API abfragt oder ein Chatbereich oder Nutzer über das Google Workspace Events API Ereignisse stellen Änderungen in Google Chat dar z. B. wenn eine neue Nachricht gepostet wird oder ein Nutzer einem Gruppenbereich beitritt. Ereignisgesteuerte Chat-Apps Die Ereignisnutzlast untersuchen, um Daten zum geänderten Chat zu erhalten und antworten Sie entsprechend.

Chat-Apps können viele Arten von Ereignissen empfangen, darunter auch Ereignisse zu Gruppenbereichen, Mitgliedschaften, Nachrichten und Reaktionen. Wenn ein Die Chat-App empfängt ein Ereignis durch Abfrage des Chat API oder über ein aktives Abo nutzen, Die Chat-App kann dann optional beliebig viele asynchrone Antworten, die mithilfe der Methode Chat API

Mit dieser Logik können Sie externe Systeme, z. B. ein Ticket, aktualisieren. oder Nachrichten an einen Chatbereich senden, asynchron, z. B. durch Senden einer Willkommensnachricht, wenn ein neuer Nutzer beitritt ein Chatbereich.

Das folgende Diagramm zeigt ein Beispiel für eine ereignisgesteuerte Muster:

Architektur eines Abos für Chatereignisse

Im obigen Diagramm ist die Interaktion zwischen Google Chat und dem Die Chat-App umfasst den folgenden Informationsfluss:

  1. Die Chat App abonniert einen Google Chat-Bereich.
  2. Der Gruppenbereich, den die Chat App abonniert hat Änderungen.
  3. Die Chat-App sendet ein Ereignis an ein Thema in Pub/Sub, das als Benachrichtigungsendpunkt für das Abo dient. Die Ereignis enthält Daten darüber, was an der Ressource geändert wurde.
  4. Die Chat-App verarbeitet Pub/Sub-Nachricht, die das Ereignis enthält, und gegebenenfalls Maßnahmen ergreift.

Für diese Art von Konversationsmuster können Sie eine Architektur von Chat-Apps mit Pub/Sub, einem Webdienst, oder Apps Script.

Weitere Informationen zum Empfangen und Beantworten von Terminen finden Sie unter Mit Terminen aus Google Chat arbeiten

Einwegnachricht von einer Chat-App

Mit einer einseitigen Nachricht aus einem Chat-App-Muster kann ein Chat-App sendet asynchrone Nachrichten an eine Chatbereich, in dem Nutzer aber nicht direkt mit dem Chat-App. Dieses Muster ist nicht dialogorientiert oder interaktiv, kann aber beispielsweise bei Alarmberichten nützlich sein, wie in den folgendes Diagramm:

Architektur einer einseitigen Nachricht.

Im obigen Diagramm befinden sich Nutzende im selben Bereich wie der Die Chat-App umfasst den folgenden Informationsfluss:

  • Die Chat-App sendet eine asynchrone Nachricht. indem Sie die Chat API aufrufen oder einen Beitrag in einem Webhook posten. URL, z. B. „Warteschlangenüberlaufwarnung“.
  • Optional sendet die Chat-App zusätzliche asynchrone Nachrichten.

Für diese Art von Konversationsmuster können Sie eine Architektur einer Chat-App mit einem Webdienst, Webhook, Apps Script, AppSheet, eine Befehlszeilenanwendung, oder ein Skript.

Einwegnachricht an eine Chat-App

Mit einer einseitigen Nachricht an ein Chat-App-Muster kann ein Nutzer Nachrichten an eine Chat-App senden, ohne das Die Chat-App antwortet, während die Anfrage noch verarbeitet wird. Obwohl diese Architektur technisch möglich ist, führt dies zu einer schlechten Nutzererfahrung Wir raten dringend von diesem Muster ab.