Домашние страницы

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Домашние страницы – это новая функция дополнений Google Workspace, которая позволяет определять одну или несколько неконтекстных карточек . Неконтекстные карточки используются для отображения пользовательского интерфейса, когда пользователь находится вне определенного контекста, например, когда пользователь просматривает свой почтовый ящик Gmail, но не открывает сообщение или черновик.

Домашние страницы позволяют отображать неконтекстный контент, как и приложения Google на боковой панели быстрого доступа («Keep», «Календарь» и «Задачи»). Домашние страницы также могут служить отправной точкой, когда пользователь впервые открывает вашу надстройку, и полезны для обучения новых пользователей тому, как взаимодействовать с вашей надстройкой.

Вы можете определить домашнюю страницу для своей надстройки, указав ее в манифесте проекта и реализовав одну или несколько функций homepageTrigger (см. Конфигурация домашней страницы ).

У вас может быть несколько домашних страниц, по одной для каждого хост-приложения, которое расширяет ваша надстройка. Вы также можете определить одну общую домашнюю страницу по умолчанию, которая будет использоваться на хостах, для которых вы не указали пользовательскую домашнюю страницу.

Домашняя страница надстройки отображается при выполнении одного из следующих условий:

  • При первом открытии дополнения в хосте (после авторизации).
  • Когда пользователь переключается с контекстного контекста на неконтекстный контекст, когда надстройка открыта. Например, из редактирования события Календаря в основной Календарь.
  • Когда пользователь нажимает кнопку «Назад» достаточное количество раз, чтобы вытолкнуть все остальные карты из внутренней стопки .
  • Когда взаимодействие пользовательского интерфейса с неконтекстной карточкой приводит к вызову Navigation.popToRoot() .

Создание домашней страницы не является обязательным, но настоятельно рекомендуется; если вы ничего не определяете, общая карточка, содержащая имя вашего дополнения, используется всякий раз, когда пользователь в противном случае перешел бы на домашнюю страницу.

Конфигурация домашней страницы

В надстройках Google Workspace поле addOns.common.homepageTrigger используется для настройки содержимого надстройки по умолчанию (неконтекстного) домашней страницы для всех хост-приложений в манифесте надстройки:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction : название функции скрипта приложений, которую вызывает структура надстроек Google Workspace для отображения карточек дополнений на главной странице. Эта функция является триггерной функцией домашней страницы . Эта функция должна создавать и возвращать массив объектов Card , составляющих пользовательский интерфейс домашней страницы. Если возвращается более одной карточки, ведущее приложение показывает заголовки карточек в списке, из которого пользователь может выбрать (см. Возврат нескольких карточек ).

  • enabled : должны ли быть включены карточки домашней страницы для этой области. Это поле является необязательным и по умолчанию имеет значение true . Если задать для этого параметра значение false , карточки домашних страниц будут отключены для всех хостов (если только это не переопределено для этого хоста; см. ниже).

В дополнение к общей конфигурации, в конфигурации каждого хост-приложения также доступны идентично структурированные переопределения для каждого хоста, в addOns.gmail.homepageTrigger , addOns.calendar.homepageTrigger и т. д.:

    {
      ...
      "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 }
        },
        ...
      }
    }

Обратите внимание, что это эквивалентно следующей выдержке из манифеста:

    {
      ...
      "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": { /* ... */ },
        ...
      }
    }

Ни один из разделов homepageTrigger не является обязательным. Однако пользовательский интерфейс, отображаемый для надстройки в любом данном основном продукте, зависит от наличия соответствующего поля манифеста и наличия связанного homepageTrigger . В следующем примере показано, какие дополнительные триггерные функции выполняются (если есть) для создания пользовательского интерфейса домашней страницы для различных конфигураций манифеста:

Поток домашней страницы

Объекты событий домашней страницы

При вызове триггерной функции домашней страницы ( runFunction ), описанной выше, передается объект события, содержащий данные из контекста вызова.

Объекты событий домашней страницы не содержат виджет или контекстную информацию; передаваемая информация ограничена следующими общими полями объекта события :

Дополнительные сведения см. в разделе Объект события .

Другие неконтекстные карточки

Пользовательский интерфейс надстройки может содержать дополнительные неконтекстные карточки, которые не являются главными страницами. Например, на вашей домашней странице может быть кнопка, которая открывает карточку «Настройки», где пользователь может настроить параметры надстройки (такие настройки в большинстве случаев не зависят от контекста и, следовательно, не зависят от контекста).

Неконтекстные карты строятся так же, как и любые другие карты; единственная разница заключается в том, какое действие или событие генерирует и отображает карту. Подробнее о том, как создавать переходы между карточками, см. в разделе Методы навигации .