Mesaj kullanıcı arayüzünü genişletme

Gmail'in sunabileceği Google Workspace eklentileri Kullanıcı mesajları okurken gösterilen kullanıcı arayüzü. Bu da Yanıt veren görevleri otomatik hale getiren Google Workspace Eklentileri (örneğin, görüntüleme, alma veya gönderme gibi) ileti içeriğine mesajla ilgili ek bilgiler sağlar.

Eklenti mesajı kullanıcı arayüzüne erişme

Eklentinin mesaj kullanıcı arayüzünü görüntülemenin iki yolu vardır. İlk yol, bir mesaj görürsünüz (örneğin, eklenti ana sayfasında yer alır). İkinci yöntem ise Eklentiyi başlatabilirsiniz.

Her iki durum da eklentinin ilgili Şurada tanımlanan bağlamsal tetikleyici işlevi: eklenti manifest dosyası. Ayrıca, kullanıcı hâlâ açık olduğundan emin olun. Bağlamsal tetikleyici işlevi, şunun için mesaj kullanıcı arayüzünü oluşturur: kullanıcıya gösterir.

Mesaj eklentisi oluşturma

Aşağıdaki genel adımları uygulayarak eklentiye mesaj işlevi ekleyebilirsiniz:

  1. Eklenti komut dosyası projesine uygun alanları ekleyin manifest Örneğin, için gerekli kapsam mesaj işlevini kullanın. Bu anahtar kelime için koşullu tetikleyici alanı bir unconditional {} değerine ayarlanır.
  2. Mesaj kullanıcı arayüzü oluşturan içeriğe dayalı bir tetikleyici işlevi uygulama Kullanıcı bir iletide eklentiyi seçtiğinde.
  3. Kullanıcının kullanıcı arayüzüne yanıt vermek için gereken ilişkili işlevleri uygulayın etkileşimleridir.

Bağlamsal tetikleyiciler

Kullanıcılara iletileri okuma konusunda yardımcı olmak için: Google Workspace eklentileri, manifest dosyalarında bağlamsal bir tetikleyici bulunmalıdır. Kullanıcı Tetikleyiciyle eşleşen bir Gmail iletisi açtığında (eklenti açık olduğunda) ölçütleri* belirtir. Tetiklenen bir tetikleyici, oluşturan bağlamsal tetikleyici işlevi kullanıcı arayüzünü açar ve Gmail'de görüntülemesini sağlar. Bu noktada başlayabilir.

Bağlamsal tetikleyiciler eklentinizin projesinde tanımlanır manifest dosyası için de kullanılabilir. Tetikleyici tanımı, Gmail'e hangi tetikleyici işlevinin hangi tetikleyici kapsamında etkinleşeceğini bildirir koşullar. Örneğin, bu manifest snippet'i koşulsuz bir tetikleyici oluşturuyor. işlevi, onGmailMessageOpen() tetikleyici işlevini çağırır:

{
  ...
  "addOns": {

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

Bağlamsal tetikleyici işlevi

Her bağlamsal tetikleyiciye karşılık gelen bir tetikleyici işlevi olmalıdır. kullanıcı arayüzü oluşturun. Bu işlevi manifest dosyası onTriggerFunction girin. Bu işlevi, işlem etkinliği nesnesi bağımsız değişkene veya tek bir Card nesnesi veya bir dizisi Card nesne algılandı.

Belirli bir Gmail iletisi için bağlamsal bir tetikleyici etkinleştiğinde işlevine iletir ve bu işleve işlem etkinliği nesnesi. Tetikleyici işlevleri genellikle bu etkinlik nesnesi tarafından sağlanan mesaj kimliğini kullanır almak için Apps Komut Dosyası'nın Gmail hizmeti. Örneğin, tetikleyiciniz işlevi, şu işlevleri kullanarak ileti içeriğini ayıklayabilir:

  // 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();

Ardından tetikleyici işlevi bu veriler üzerinde işlem yapabilir ve gereken araçları ifade eder. Örneğin, satışları özetleyen e-posta mesajından satış rakamlarını toplayabilir ve bunları daha sonra kartta gösterilir.

Tetikleyici işlevi, yerleşik bir diziyi derlemeli ve döndürmelidir Card nesneler'i tıklayın. Örneğin, aşağıdaki kod snippet'ini kullanan tek bir kartla iletinin konusu ve göndereni listeleniyorsa:

  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];
  }