Add-on-Aktionen bieten interaktives Verhalten für Widgets. Wenn Sie eine Aktion erstellen, definieren Sie, was passiert, wenn der Nutzer ein Widget auswählt oder aktualisiert.
In den meisten Fällen können Sie Add-on-Aktionen mit
Action
-Objekten definieren, die vom Google Apps Script-Kartendienst bereitgestellt werden.
Jede Action ist mit
einer Callback-Funktion verknüpft, wenn Sie sie erstellen. Sie implementieren die Callback-Funktion, um ausgewählte Schritte auszuführen, wenn der Nutzer mit dem Widget interagiert. Sie müssen die Action auch mit einem entsprechenden Widget-Handler verknüpfen, der definiert, welche Art von Interaktion die Action-Callback-Funktion auslöst.
So konfigurieren Sie ein Widget mit einer Action:
- Erstellen Sie das
ActionObjekt und geben Sie die Callback-Funktion an, die ausgeführt werden soll, sowie alle erforderlichen Parameter. - Rufen Sie die entsprechende Widget-Handler-Funktion für das
Widget mit dem
ActionObjekt auf. - Implementieren Sie die Callback-Funktion, um das erforderliche Verhalten zu aktivieren.
Verwechseln Sie Action
Objekte nicht mit CardAction
Objekten. CardAction
Objekte sind Menüelemente im Kartenheader, während
Action Objekte Antworten auf Nutzerinteraktionen mit der Benutzeroberfläche definieren.
Widget-Handler-Funktionen
Verwenden Sie eine Widget-Handler-Funktion, um ein Widget mit einem Action
oder einem anderen Verhalten zu verknüpfen. Die Handler-Funktion bestimmt, welche Art von Interaktion (z. B. Klicken auf das Widget oder Bearbeiten eines Textfelds) das Aktionsverhalten auslöst. Die Handler-Funktion definiert auch, welche Schritte die Benutzeroberfläche nach Abschluss der Aktion ausführt.
In der folgenden Tabelle sind die verschiedenen Handler-Typen für Widgets und die Widgets aufgeführt, mit denen sie verwendet werden:
| Handler-Funktion | Löst Aktion aus | Anwendbare Widgets | Beschreibung |
|---|---|---|---|
setOnChangeAction |
Der Widget-Wert ändert sich |
DatePicker
DateTimePicker
SelectionInputSwitch
TextInput
TimePicker
|
Legt eine Action
fest, die eine Apps Script-Funktion ausführt, wenn der Fokus vom Widget verloren geht, z. B.
wenn der Nutzer Text in ein Eingabefeld eingibt und die Eingabetaste drückt. Der
Handler übergibt automatisch ein
Ereignisobjekt an die aufgerufene Funktion.
Optional können Sie zusätzliche Parameterinformationen in dieses Ereignisobjekt
einfügen. |
setOnClickAction |
Der Nutzer klickt auf das Widget |
CardActionImageImageButtonDecoratedTextTextButton
|
Legt eine Action
fest, die eine Apps Script-Funktion ausführt, wenn der Nutzer auf
das Widget klickt. Der Handler übergibt automatisch ein
Ereignisobjekt an die aufgerufene Funktion.
Optional können Sie Parameterinformationen in dieses Ereignisobjekt einfügen. |
setComposeAction |
Der Nutzer klickt auf das Widget |
CardActionImageImageButtonDecoratedTextTextButton
|
Gmail-spezifisch Legt ein
Action
fest, das einen E‑Mail-Entwurf erstellt und ihn dem Nutzer dann in einem
Gmail-Fenster zum Verfassen von Nachrichten präsentiert. Sie können den Entwurf als neue
Nachricht oder als Antwort auf die geöffnete Nachricht in Gmail erstellen. Wenn der
Handler die Callback-Funktion zum Erstellen des Entwurfs aufruft, übergibt er ein
Ereignisobjekt an die Callback-Funktion.
Weitere Informationen finden Sie unter
E‑Mail-Entwürfe erstellen. |
setOnClickOpenLinkAction |
Der Nutzer klickt auf das Widget |
CardActionImageImageButtonDecoratedTextTextButton
|
Legt eine Action
fest, die eine URL öffnet, wenn der Nutzer auf das Widget klickt. Verwenden Sie diesen Handler, wenn Sie die URL erstellen müssen oder andere Aktionen ausgeführt werden müssen, bevor der Link geöffnet wird. Andernfalls ist es in der Regel einfacher, setOpenLink zu verwenden.
Sie können die URL nur in einem neuen Fenster öffnen. Wenn das Fenster geschlossen wird, können Sie die
Benutzeroberfläche so konfigurieren, dass das Add-on neu geladen wird. |
setOpenLink |
Der Nutzer klickt auf das Widget |
CardActionImageImageButtonDecoratedTextTextButton
|
Öffnet direkt eine URL, wenn der Nutzer auf das Widget klickt. Verwenden Sie diesen
Handler, wenn Sie die URL kennen und sie nur öffnen müssen. Andernfalls verwenden Sie
setOnClickOpenLinkAction.
Sie können die URL in einem neuen Fenster oder in einem Overlay öffnen. Wenn das Fenster geschlossen wird, können Sie die Benutzeroberfläche so konfigurieren, dass das Add-on neu geladen wird. |
setSuggestionsAction |
Der Nutzer gibt Text in ein Eingabefeld ein |
TextInput
|
Legt eine Action
fest, die eine Apps Script-Funktion ausführt, wenn der Nutzer
Text in ein Texteingabe-Widget eingibt. Der Handler übergibt automatisch ein
Ereignisobjekt an die aufgerufene Funktion.
Weitere Informationen finden Sie unter
Automatisch vervollständigte Vorschläge
für Texteingaben. |
Callback-Funktionen
Callback-Funktionen werden ausgeführt, wenn ein
Action ausgelöst wird. Da Callback-Funktionen Apps Script-Funktionen sind, können sie fast alles tun, was jede andere Skriptfunktion tun kann.
Eine Callback-Funktion gibt manchmal ein bestimmtes Antwortobjekt zurück. Diese Arten von Antworten geben zusätzliche Vorgänge an, die nach Abschluss der Callback-Ausführung ausgeführt werden müssen, z. B. das Anzeigen einer neuen Karte oder das Präsentieren von Vorschlägen zur automatischen Vervollständigung. Wenn Ihre Callback-Funktion ein bestimmtes Antwortobjekt zurückgeben muss, verwenden Sie eine Builder-Klasse im Kartendienst , um dieses Objekt zu erstellen.
In der folgenden Tabelle sehen Sie, wann Ihre Callback-Funktionen für bestimmte Aktionen ein bestimmtes Antwortobjekt zurückgeben müssen. Diese Aktionen sind alle unabhängig von der spezifischen Hostanwendung, die das Add-on erweitert:
| Versuchte Aktion | Callback-Funktion sollte zurückgeben |
|---|---|
| Navigieren | ActionResponse |
Eine Notification anzeigen |
ActionResponse |
Einen Link mit setOnClickOpenLinkAction öffnen |
ActionResponse |
| Automatisch vervollständigte Vorschläge anzeigen | SuggestionResponse |
| Eine universelle Aktion verwenden | UniversalActionResponse |
| Weitere Aktionen | Nichts |
Aktionen für Google Workspace-Hostanwendungen
Zusätzlich zu diesen Aktionen hat jede Hostanwendung eigene Aktionen, die nur in dieser Hostanwendung ausgeführt werden können. Weitere Informationen finden Sie in den folgenden Anleitungen:
Wenn Sie die Antwort-Builder-Klassen verwenden, rufen Sie die Methode build auf, um die Antwortobjekte zu erstellen. Andernfalls wird ein Fehler ausgegeben.
Universelle Aktionen werden
im Projektmanifest definiert und benötigen keine
Action-Objekte. Ihre
Callback-Funktionen müssen jedoch eine
UniversalActionResponse zurückgeben.
Aktionsereignisobjekte
Wenn Ihr Add-on eine
Action auslöst, erstellt die Benutzeroberfläche automatisch ein JSON-Ereignisobjekt und übergibt es als Argument an die
Action-Callback-Funktion. Dieses Ereignisobjekt enthält Informationen zum aktuellen clientseitigen Kontext des Nutzers, z. B. die aktuellen Werte aller interaktiven Widgets auf der angezeigten Karte.
Aktionsereignisobjekte haben eine bestimmte JSON-Struktur, die die darin enthaltenen Informationen organisiert. Dieselbe Struktur wird verwendet, wenn ein Homepage-Trigger ausgelöst wird, um eine Homepage zu erstellen, oder wenn ein kontextbezogener Trigger ausgelöst wird, um die Add-on-Anzeige zu aktualisieren.
Eine vollständige Erläuterung der Struktur von Ereignisobjekten finden Sie unter Ereignisobjekte.
Gmail-Add-ons verwendeten eine vereinfachte Version dieser Ereignisobjektstruktur, die jetzt veraltet ist. Aus Gründen der Abwärtskompatibilität sind
alle ursprünglichen Felder des Ereignisobjekts von Gmail-Add-ons
weiterhin in der neuen Ereignisobjektstruktur enthalten (siehe
Ereignisobjektstruktur).
Dieselben Informationen werden jedoch in den commonEventObject
und Gmail-Ereignis-Objekt
Unterstrukturen wiedergegeben. Wenn Sie ein Gmail-Add-on zu einem Google Workspace-Add-on aktualisieren, passen Sie Ihren Code an, um die aktualisierten Felder des Ereignisobjekts zu verwenden. Die ursprünglichen Felder des Ereignisobjekts von Gmail werden schließlich entfernt.