Auf dieser Seite wird beschrieben, wie eine Google Chat-App Dialogfelder öffnen kann, um Benutzeroberflächen anzuzeigen und auf Nutzer zu reagieren.
Dialogfelder sind fensterbasierte, kartenbasierte Oberflächen, die über einen Chatbereich oder eine Nachricht geöffnet werden. Das Dialogfeld und seine Inhalte sind nur für den Nutzer sichtbar, der es geöffnet hat.
Chat-Apps können Dialogfelder verwenden, um Informationen von Chat-Nutzern anzufordern und zu erfassen, einschließlich mehrstufiger Formulare. Weitere Informationen zum Erstellen von Formulareingaben finden Sie unter Informationen von Nutzern erheben und verarbeiten.
Vorbereitung
HTTP
Ein Google Workspace-Add‑on, das Google Chat erweitert. Führen Sie die HTTP Schnellstartanleitung aus, um ein solches Add‑on zu erstellen.
Apps Script
Ein Google Workspace-Add‑on, das Google Chat erweitert. Führen Sie die Apps Script-Schnellstartanleitung aus, um ein solches Add‑on zu erstellen.
Dialogfeld öffnen
In diesem Abschnitt wird erläutert, wie Sie antworten und ein Dialogfeld einrichten. Dazu gehen Sie so vor:
- Lösen Sie die Dialogfeldanfrage über eine Nutzerinteraktion aus.
- Verarbeiten Sie die Anfrage, indem Sie ein Dialogfeld zurückgeben und öffnen.
- Nachdem Nutzer Informationen gesendet haben, verarbeiten Sie die Übermittlung, indem Sie entweder das Dialogfeld schließen oder ein anderes Dialogfeld zurückgeben.
Dialogfeldanfrage auslösen
Eine Chat-App kann nur Dialogfelder öffnen, um auf eine Nutzerinteraktion zu reagieren, z. B. auf einen Befehl oder einen Klick auf eine Schaltfläche in einer Nachricht auf einer Karte.
Wenn eine Chat-App mit einem Dialogfeld auf Nutzer reagieren soll, muss sie eine Interaktion erstellen, die die Dialogfeldanfrage auslöst, z. B.:
- Auf einen Befehl antworten Wenn Sie die Anfrage über einen Befehl auslösen möchten, müssen Sie beim Konfigurieren des Befehls das Kästchen Öffnet ein Dialogfeld anklicken.
- Auf einen Klick auf eine Schaltfläche in einer Nachricht antworten, entweder als Teil einer Karte oder unten in der Nachricht. Wenn Sie die
Anfrage über eine Schaltfläche in einer Nachricht auslösen möchten, konfigurieren Sie die
Schaltfläche
onClickAktion, indem SieinteractionaufOPEN_DIALOGsetzen.
/addContact Slash-Befehl zu verwenden. Die Nachricht enthält auch eine Schaltfläche, auf die Nutzer klicken können, um den Befehl auszulösen.
Das folgende Codebeispiel zeigt, wie Sie eine Dialogfeldanfrage über eine Schaltfläche in einer Kartennachricht auslösen. Setzen Sie das Feld
onClick.action.interaction
der Schaltfläche auf OPEN_DIALOG, um das Dialogfeld zu öffnen:
Node.js
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Python
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Java
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Apps Script
In diesem Beispiel wird eine Kartennachricht gesendet, indem Karten-JSON zurückgegeben wird. Sie können auch den Apps Script-Kartendienst verwenden.
Erstes Dialogfeld öffnen
Wenn ein Nutzer eine Dialogfeldanfrage auslöst, empfängt Ihre Chat-App
ein
Ereignisobjekt mit einer Nutzlast,
in der ein dialogEventType Objekt als REQUEST_DIALOG angegeben ist.
Um ein Dialogfeld zu öffnen, kann Ihre Chat-App auf die
Anfrage reagieren, indem sie ein
RenderActions
Objekt mit der Navigation pushCard zurückgibt, um eine Karte anzuzeigen. Die Karte sollte alle Elemente der Benutzeroberfläche enthalten, einschließlich einer oder mehrerer
sections[]
mit Widgets. Wenn Sie Informationen von Nutzern erheben möchten, können Sie Formulareingabe-Widgets und ein Schaltflächen-Widget angeben. Weitere Informationen zum Entwerfen von Formulareingaben finden Sie unter
Informationen von Nutzern erheben und verarbeiten.
Das folgende Codebeispiel zeigt, wie eine Chat-App eine Antwort zurückgibt, die ein Dialogfeld öffnet:
Node.js
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Python
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Java
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Apps Script
In diesem Beispiel wird eine Kartennachricht gesendet, indem Karten-JSON zurückgegeben wird. Sie können auch den Apps Script-Kartendienst verwenden.
Dialogfeldübermittlung verarbeiten
Wenn Nutzer auf eine Schaltfläche klicken, mit der ein Dialogfeld gesendet wird, empfängt Ihre
Chat-App ein Ereignisobjekt mit einem
ButtonClickedPayload
Objekt. In der Nutzlast ist dialogEventType auf SUBMIT_DIALOG gesetzt. Informationen zum Erheben und Verarbeiten der Informationen im Dialogfeld finden Sie unter
Informationen von Google Chat-Nutzern erheben und verarbeiten.
Ihre Chat-App muss auf das Ereignisobjekt reagieren, indem sie eine der folgenden Aktionen ausführt:
- Gibt ein anderes Dialogfeld zurück, um eine andere Karte oder ein Formular auszufüllen.
- Schließt das Dialogfeld, nachdem die vom Nutzer gesendeten Daten validiert wurden, und sendet optional eine Bestätigungsnachricht.
Optional: Anderes Dialogfeld zurückgeben
Nachdem Nutzer das erste Dialogfeld gesendet haben, können Chat-Apps ein oder mehrere zusätzliche Dialogfelder zurückgeben, damit Nutzer Informationen vor dem Senden überprüfen, mehrstufige Formulare ausfüllen oder Formularinhalte dynamisch ausfüllen können.
Um die von Nutzern eingegebenen Daten zu verarbeiten, verarbeitet die Chat-App
die Daten im
commonEventObject.formInputs
Objekt des Ereignisses. Weitere Informationen zum Abrufen von Werten aus Eingabe-Widgets finden Sie unter
Informationen von Nutzern erheben und verarbeiten.
Wenn Sie alle Daten erfassen möchten, die Nutzer im ersten Dialogfeld eingeben, müssen Sie der Schaltfläche, mit der das nächste Dialogfeld geöffnet wird, Parameter hinzufügen. Weitere Informationen finden Sie unter Daten an eine andere Karte übertragen.
In diesem Beispiel öffnet eine Chat-App ein erstes Dialogfeld, das zu einem zweiten Dialogfeld zur Bestätigung vor dem Senden führt:
Node.js
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Python
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Java
Ersetzen Sie FUNCTION_URL durch den HTTP-Endpunkt, der die Schaltflächenklicks verarbeitet.
Apps Script
In diesem Beispiel wird eine Kartennachricht gesendet, indem Karten-JSON zurückgegeben wird. Sie können auch den Apps Script-Kartendienst verwenden.
Dialogfeld schließen
Wenn Nutzer in einem Dialogfeld auf eine Schaltfläche zum Senden klicken, führt Ihre Chat-App die zugehörige Aktion aus und stellt das Ereignisobjekt mit buttonClickedPayload auf Folgendes ein:
isDialogEventisttrue.dialogEventTypeistSUBMIT_DIALOG.
Die Chat-App sollte ein
RenderActions
Objekt mit
EndNavigation
auf CLOSE_DIALOG zurückgeben.
Optional: Temporäre Benachrichtigung anzeigen
Wenn Sie das Dialogfeld schließen, können Sie dem Nutzer, der mit der App interagiert, auch eine temporäre Textbenachrichtigung anzeigen.
Wenn Sie eine Benachrichtigung anzeigen möchten, geben Sie das
RenderActions
Objekt mit dem Feld notification zurück.
Im folgenden Beispiel wird das Dialogfeld mit einer Textbenachrichtigung geschlossen:
Node.js
Python
Java
Apps Script
In diesem Beispiel wird eine Kartennachricht gesendet, indem Karten-JSON zurückgegeben wird. Sie können auch den Apps Script-Kartendienst verwenden.
Weitere Informationen zum Übergeben von Parametern zwischen Dialogfeldern finden Sie unter Daten an eine andere Karte übertragen.
Optional: Bestätigungsnachricht in Google Chat senden
Wenn Sie das Dialogfeld schließen, können Sie auch eine neue Chatnachricht senden oder eine vorhandene aktualisieren.
Wenn Sie eine neue Nachricht senden möchten, geben Sie ein
DataActions
Objekt zurück, bei dem das Feld
CreateMessageAction mit der neuen Nachricht festgelegt ist. Wenn Sie beispielsweise das Dialogfeld schließen und eine Textnachricht senden möchten, geben Sie Folgendes zurück:
Im folgenden Beispiel wird das Dialogfeld geschlossen, indem eine neue Nachricht gesendet wird:
Node.js
Python
Java
Apps Script
In diesem Beispiel wird eine Kartennachricht gesendet, indem Karten-JSON zurückgegeben wird. Sie können auch den Apps Script-Kartendienst verwenden.
Wenn Sie eine Nachricht aktualisieren möchten, nachdem der Nutzer ein Dialogfeld gesendet hat, geben Sie ein DataActions-Objekt zurück, das eine der folgenden Aktionen enthält:
UpdateMessageAction: Aktualisiert eine Nachricht , die von der Chat-App gesendet wurde, z. B. die Nachricht, über die der Nutzer das Dialogfeld angefordert hat.UpdateInlinePreviewAction: Aktualisiert die Karte aus einer Linkvorschau.
Fehlerbehebung
Wenn eine Google Chat-App oder Karte einen Fehler zurückgibt, wird in der Chat-Oberfläche die Meldung „Ein Fehler ist aufgetreten.“ oder „Ihre Anfrage kann nicht verarbeitet werden.“ angezeigt. Manchmal wird in der Chat-Benutzeroberfläche keine Fehlermeldung angezeigt, aber die Chat-App oder Karte liefert ein unerwartetes Ergebnis. Beispielsweise wird möglicherweise keine Kartennachricht angezeigt.
Auch wenn in der Chat-Benutzeroberfläche keine Fehlermeldung angezeigt wird, beschreibende Fehlermeldungen und Logdaten sind verfügbar, mit denen Sie Fehler beheben können, wenn die Fehlerprotokollierung für Chat-Apps aktiviert ist. Informationen zum Ansehen, Debuggen und Beheben von Fehlern finden Sie unter Fehler in Google Chat beheben.