Páginas iniciais

As páginas iniciais são um novo recurso de complementos do Google Workspace que permite definir um ou mais cards não contextuais. Cards não contextuais são usados para mostrar uma interface do usuário quando o fora de um contexto específico, como quando o usuário está visualizando a caixa de entrada do Gmail. mas não abriu uma mensagem ou um rascunho.

As páginas iniciais permitem que você mostre conteúdo não contextual, assim como Apps do Google no painel lateral de acesso rápido (Keep, Agenda e Tarefas). As páginas iniciais também podem fornecer um ponto ideal para quando um usuário abre o complemento pela primeira vez e são úteis para ensinar a novos usuários como interagir com seu complemento.

Você pode definir uma página inicial para seu complemento especificando-a no projeto manifesto e implementar uma ou mais funções homepageTrigger (consulte Configuração da página inicial).

É possível ter várias páginas iniciais, uma para cada aplicativo host que o complemento se estende. Você também pode decidir definir uma única página inicial padrão comum que seja usada em hosts nos quais você não especificou uma página inicial personalizada.

A página inicial do complemento será exibida quando uma das seguintes condições for atendida:

  • Quando o complemento for aberto pela primeira vez no host (após a autorização).
  • Quando o usuário muda de um contexto contextual para um não contextual enquanto o complemento estiver aberto. Por exemplo, da edição de um evento da Agenda Agenda principal.
  • Quando o usuário clica no botão "Voltar" vezes o suficiente para retirar todos os outros cards das pilhas internas.
  • Quando uma interação da IU em um card não contextual resulta em uma Navigation.popToRoot() a chamada.

Criar uma página inicial não é obrigatório, mas altamente recomendado. Se você não definir nenhum, um card genérico contendo o nome do complemento é usado sempre que um usuário navegar até a página inicial.

Configuração da página inicial

Os complementos do Google Workspace usam addOns.common.homepageTrigger para configurar o conteúdo do complemento de página inicial padrão (não contextual) para todos os aplicativos hospedeiros do complemento manifesto:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: o nome da função do Apps Script que o O framework de complementos do Google Workspace invoca para renderizar os cards de complementos da página inicial. Essa função é a função de acionador da página inicial. Essa função deve criar e retornar uma matriz de Card. que compõem a interface da página inicial. Se mais de um cartão for devolvido, o aplicativo host mostra os cabeçalhos do card em uma lista que o usuário pode selecionar de (consulte Devolução de vários cards).

  • enabled: se os cards da página inicial precisam ser ativados para este escopo. Isso campo é opcional, e o padrão é true. Definir como false causa cards da página inicial sejam desativados para todos os hosts (a menos que sejam substituídos para isso) host; consulte abaixo).

.

Além da configuração comum, há substituições por host com estrutura idêntica disponíveis no console configuração, em addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger, e assim por diante:

    {
      ...
      "addOns": {
        ...
        "common": {
          // By default, call 'buildHomePage' to render homepage content
          // in all hosts. Since calendar.homepageTrigger below overrides
          // this in Calendar and Drive and the homepageTrigger is disabled
          // for Gmail, this homepage function never executes.
          "homepageTrigger": { "runFunction": "buildHomePage" }
        },
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "buildDriveHomepage" }
        }
        "gmail": {
          // Disable homepage add-on content in Gmail.
          "homepageTrigger": { "enabled": false }
        },
        ...
      }
    }

Isso é equivalente ao seguinte trecho do manifesto:

    {
      ...
      "addOns": {
        ...
        "common": { /* ... */ }, // Omitted a default homepageTrigger specification.
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "myCalendarFunction" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "myDriveFunction" }
        }
        "gmail": { /* ... */ },
        ...
      }
    }

Nenhuma das seções homepageTrigger é necessária. No entanto, a interface mostrada para um complemento em qualquer produto host depende da presença do no campo de manifesto correspondente e se há um erro homepageTrigger: O exemplo a seguir mostra quais funções de acionamento de complementos são executados (se houver) para criar uma interface de página inicial para diferentes de configuração:

Fluxo da página inicial

Objetos de evento da página inicial

Quando chamada, a função de gatilho da página inicial (runFunction) descrita acima é transmitiu um objeto de evento que contém dados do contexto de invocação.

Os objetos de evento da página inicial não incluem informações contextuais ou de widget. as informações passadas são limitadas aos seguintes objeto de evento comum :

Consulte Objeto de evento para mais detalhes.

Outros cards não contextuais

A interface do complemento pode conter outros cards não contextuais que não são páginas iniciais. Por exemplo, sua página inicial pode ter um botão que abre uma "Configurações" em que o usuário pode ajustar as configurações do complemento (como configurações na maioria dos casos seria independente do contexto e, portanto, não contextual).

Os cards não contextuais são criados como qualquer outro cartão. a única diferença é qual ação ou evento gera e exibe o card. Consulte Métodos de navegação para detalhes sobre como criar transições entre cards.