Die Benutzeroberfläche für Mitteilungen erweitern

Mit Google Workspace-Add-ons für Gmail können Sie wenn Nutzende Nachrichten lesen. Dadurch können Sie Google Workspace-Add-ons zum Automatisieren von Aufgaben, die reagieren auf Nachrichteninhalte wie Anzeigen, Abrufen oder Senden zusätzliche Informationen zur Nachricht.

Auf die UI für Add-on-Nachrichten zugreifen

Es gibt zwei Möglichkeiten, die Nachrichten-UI eines Add-ons aufzurufen. Die erste Möglichkeit besteht darin, wenn das Add-on bereits geöffnet ist (z. B. beim Öffnen der Add-on-Startseite im Gmail-Posteingangsfenster). Die zweite Möglichkeit ist, während Sie sich eine Nachricht ansehen, um das Add-on zu starten.

In beiden Fällen führt das Add-on die entsprechende kontextbezogene Triggerfunktion, definiert in den Add-on-Manifest. Der Trigger wird auch ausgeführt, wenn der Nutzer zu einer anderen Nachricht wechselt, während der das Add-on geöffnet ist. Die kontextbezogene Triggerfunktion erstellt die Nachrichten-UI für die Google Mail dann dem Nutzer anzeigt.

Nachrichten-Add-on erstellen

So fügen Sie einem Add-on eine Nachrichtenfunktion hinzu:

  1. Fügen Sie dem Add-on-Skriptprojekt die entsprechenden Felder hinzu. Manifest einschließlich der scopes erforderlich für Nachrichtenfunktion. Fügen Sie auf jeden Fall bedingtes Triggerfeld zum Manifest hinzu, wobei unconditional Wert von {}.
  2. Kontextbezogene Triggerfunktion implementieren, die eine Nachrichten-UI erstellt wenn der Nutzer das Add-on in einer Nachricht auswählt.
  3. Verknüpfte Funktionen implementieren, die zum Antworten auf die Benutzeroberfläche des Nutzers erforderlich sind Interaktionen.

Kontextbezogene Trigger

Um Nutzenden beim Lesen von Nachrichten zu helfen, Mit Google Workspace-Add-ons können Sie einen kontextbezogenen Trigger in den Manifesten. Wenn Nutzende öffnet eine Gmail-Nachricht (bei geöffnetem Add-on), die dem Trigger entspricht Kriterien*, die der Trigger auslöst. Ein ausgelöster Trigger führt eine kontextbezogene Triggerfunktion zum Erstellen der Add-on-Benutzeroberfläche und gibt sie zurück, damit Gmail angezeigt wird. Ab diesem Zeitpunkt damit Nutzende damit interagieren können.

Kontextuelle Trigger werden im Projekt des Add-ons definiert Manifest herunter. Mit der Triggerdefinition wird in Gmail festgelegt, unter welcher Triggerfunktion ausgelöst werden soll: . Mit diesem Manifest-Snippet wird z. B. ein bedingungsloser Trigger festgelegt, die beim Öffnen einer Nachricht die Triggerfunktion onGmailMessageOpen() aufruft:

{
  ...
  "addOns": {

    "common": {
      ...
    },
    "gmail": {
      "contextualTriggers": [
        {
          "unconditional": {},
          "onTriggerFunction": "onGmailMessageOpen"
        }
      ],
      ...
    },
    ...
  }
  ...
}

Kontextbezogene Triggerfunktion

Jeder kontextbezogene Trigger muss eine entsprechende Trigger-Funktion haben mit der die Benutzeroberfläche Ihres Add-ons erstellt wird. Sie legen diese Funktion in Ihrem onTriggerFunction des Manifests ein. Sie implementieren diese Funktion, um ein Ereignisobjekt „Aktion“ -Argument und geben entweder ein einzelnes Card-Objekt oder ein Array von Card-Objekten

Wenn ein kontextbezogener Trigger für eine bestimmte Gmail-Nachricht ausgelöst wird, wird wie folgt und übergibt ihr eine action-Ereignisobjekt. Triggerfunktionen verwenden häufig die von diesem Ereignisobjekt bereitgestellte Nachrichten-ID um den Nachrichtentext und andere Details mithilfe der Gmail. Beispiel: Ihr Trigger -Funktion können Nachrichteninhalte mithilfe der folgenden Funktionen extrahieren:

  // Activate temporary Gmail scopes, in this case to allow
  // the add-on to read message metadata and content.
  var accessToken = e.gmail.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);

  // Read message metadata and content. This requires the Gmail scope
  // https://www.googleapis.com/auth/gmail.addons.current.message.readonly.
  var messageId = e.gmail.messageId;
  var message = GmailApp.getMessageById(messageId);
  var subject = message.getSubject();
  var sender = message.getFrom();
  var body = message.getPlainBody();
  var messageDate = message.getDate();

  // Setting the access token with a gmail.addons.current.message.readonly
  // scope also allows read access to the other messages in the thread.
  var thread = message.getThread();
  var threadMessages = thread.getMessages();

  // Using this link can avoid the need to copy message or thread content
  var threadLink = thread.getPermalink();

Die Trigger-Funktion kann auf diese Daten reagieren und die Informationen extrahieren, für die Schnittstelle benötigt. Beispiel: Ein Add-on, das die Umsätze zusammenfasst, mit Zahlen können Umsatzzahlen aus dem Nachrichtentext erfasst und nach werden auf einer Karte angezeigt.

Die Triggerfunktion muss ein Array von erstellt und zurückgeben Card Objekte. Im folgenden Beispiel wird ein Add-on mit einer einzelnen Karte erstellt, die werden nur Betreff und Absender der Nachricht aufgelistet:

  function onGmailMessageOpen(e) {
    // Activate temporary Gmail scopes, in this case to allow
    // message metadata to be read.
    var accessToken = e.gmail.accessToken;
    GmailApp.setCurrentMessageAccessToken(accessToken);

    var messageId = e.gmail.messageId;
    var message = GmailApp.getMessageById(messageId);
    var subject = message.getSubject();
    var sender = message.getFrom();

    // Create a card with a single card section and two widgets.
    // Be sure to execute build() to finalize the card construction.
    var exampleCard = CardService.newCardBuilder()
        .setHeader(CardService.newCardHeader()
            .setTitle('Example card'))
        .addSection(CardService.newCardSection()
            .addWidget(CardService.newKeyValue()
                .setTopLabel('Subject')
                .setContent(subject))
            .addWidget(CardService.newKeyValue()
                .setTopLabel('From')
                .setContent(sender)))
        .build();   // Don't forget to build the Card!
    return [exampleCard];
  }