Продвигайте дополнение среди пользователей

Разработчики могут повысить заметность своих дополнений, продвигая их через чат во время звонков Meet и с помощью функции демонстрации экрана Meet.

Чат во время звонка

Дополнения Google Meet автоматически отображаются для пользователей в чате Meet во время вызова, если сообщение содержит ссылку(и), связанную(ые) с дополнением. Для показа дополнений в чате разработчику не требуется никаких действий. Команда по проверке определяет, какие ссылки следует связать с дополнением, на основе URI боковой панели и источника дополнения, указанного в манифесте развертывания .

Когда пользователи отправляют сообщение через чат, связанный с дополнением, происходит одно из двух:

  1. Если дополнение не установлено, пользователю будет предложено установить его.
  2. Если дополнение уже установлено, кнопка напомнит пользователю о необходимости открыть дополнение.

Совместное использование экрана

Продвижение дополнения посредством демонстрации экрана.

На этой странице описывается, как рекламировать дополнение для пользователей во время демонстрации экрана на вкладке с помощью Google Meet, разместив небольшой фрагмент кода на другой веб-странице.

Метод exposeToMeetWhenScreensharing() позволяет сайту отправлять информацию в Meet при демонстрации экрана его вкладки. Эта информация используется при работе с дополнением Meet, когда пользователь нажимает кнопку «Начать мероприятие» на баннере презентации, если у него установлено дополнение. Если у пользователя не установлено дополнение при демонстрации экрана вкладки, ему будет предложено его установить.

Объект AddonScreenshareInfo содержит пять свойств, которые можно добавить в зависимости от варианта использования:

  • additionalData : информация, которую надстройка может использовать для своей инициализации. Может быть задано только в том случае, если свойство startActivityOnOpen имеет значение true и доступно через ActivityStartingState . Подробнее см. в разделе Получение начального состояния активности .

  • cloudProjectNumber : Обязательно. Номер вашего проекта Google Cloud.

  • mainStageUrl : URL-адрес, который открывается на главной сцене после запуска дополнения, например, https://www.example.com . URL-адрес должен принадлежать к тому же источнику , что и URL-адреса, указанные в манифесте дополнения.

  • sidePanelUrl : URL-адрес, который открывается на боковой панели после запуска дополнения, например, https://www.example.com . URL-адрес должен принадлежать к тому же источнику , что и URL-адреса, указанные в манифесте дополнения.

  • startActivityOnOpen : Обязательно. Запускать ли дополнение к активности в Meet немедленно, когда пользователь запускает дополнение из баннера презентации. Должно быть true, если используется свойство mainStageUrl .

Установите и импортируйте SDK

Доступ к SDK можно получить с помощью npm или gstatic.

Если ваш проект использует npm, вы можете следовать инструкциям для пакета npm SDK дополнений Meet .

Сначала установите пакет npm:

npm install @googleworkspace/meet-addons

Затем SDK дополнений Meet становится доступен путем импорта интерфейса MeetAddonScreenshareExport :

import {meet} from '@googleworkspace/meet-addons/meet.addons.screenshare';

Для пользователей TypeScript определения TypeScript поставляются вместе с модулем. Пользователям TypeScript следует установить moduleResolution в "bundler" в файле tsconfig.json проекта, чтобы спецификация «exports» в package.json позволяла импортировать пакет для демонстрации экрана export .

gstatic

SDK дополнений Google Meet доступен в виде пакета JavaScript на домене gstatic , который обслуживает статический контент.

Чтобы использовать SDK дополнений Meet, добавьте в свое приложение следующий тег скрипта:

<script src="https://www.gstatic.com/meetjs/addons/1.1.0/meet.addons.screenshare.js"></script>

SDK дополнений Meet доступен через интерфейс MeetAddon в window.meet.addon .

Пример: загрузка на боковой панели без запуска действия

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

<script>
meet.addon.screensharing.exposeToMeetWhenScreensharing(
  {
    cloudProjectNumber: CLOUD_PROJECT_NUMBER,
    startActivityOnOpen: false,
    sidePanelUrl: SIDE_PANEL_URL,
  }
);
</script>

Заменить следующее:

  • CLOUD_PROJECT_NUMBER : Строка. Номер вашего облачного проекта.
  • SIDE_PANEL_URL : Строка. URL-адрес боковой панели.

Когда пользователь на экране вызова Meet делится страницей, он видит баннер презентации в Meet. Нажатие кнопки на баннере открывает надстройку для указанного номера облачного проекта на боковой панели. Поскольку свойство startActivityOnOpen имеет значение false, кнопка запуска активности отключена до тех пор, пока не будет задано значение ActivityStartingState . Подробнее см. в разделе Использование начального состояния активности .

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

Пример дополнения «Анимация» на GitHub включает этот пример как часть полноценного дополнения. При отображении главной страницы веб-приложения, связанного с дополнением, пользователю предлагается установить или настроить дополнение.

Пример: Загрузка на основном этапе

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

<script>
meet.addon.screensharing.exposeToMeetWhenScreensharing(
  {
    cloudProjectNumber: CLOUD_PROJECT_NUMBER,
    startActivityOnOpen: true,
    mainStageUrl: MAIN_STAGE_URL,
    additionalData: "{\"selected_item\": \"42\"}",
  }
);
</script>

Заменить следующее:

  • CLOUD_PROJECT_NUMBER : Строка. Номер вашего проекта Google Cloud.
  • MAIN_STAGE_URL : Строка. URL-адрес основной сцены.

Когда пользователь на экране вызова Meet делится страницей, он видит баннер презентации в Meet. Нажатие кнопки на баннере открывает дополнение для указанного номера облачного проекта на главной сцене. Загружается свойство mainStageUrl , а свойство additionalData используется для задания начального состояния активности дополнения. Другим пользователям в вызове немедленно предлагается установить или запустить дополнение.

Пример: загрузка в боковую панель

В следующем примере кода экран пользователя отображает страницу с надстройкой, которая должна запускаться на боковой панели, а не на главной сцене:

<script>
meet.addon.screensharing.exposeToMeetWhenScreensharing(
  {
    cloudProjectNumber: CLOUD_PROJECT_NUMBER,
    startActivityOnOpen: true,
    sidePanelUrl: SIDE_PANEL_URL,
    additionalData: "{\"selected_item\": \"42\"}",
  }
);
</script>

Заменить следующее:

  • CLOUD_PROJECT_NUMBER : Строка. Номер вашего облачного проекта.
  • SIDE_PANEL_URL : Строка. URL-адрес боковой панели.

Когда пользователь на экране вызова Meet делится страницей, он видит баннер презентации в Meet. Нажатие кнопки на баннере открывает дополнение для указанного номера облачного проекта на боковой панели. Загружается свойство sidePanelUrl , а свойство additionalData используется для задания начального состояния активности дополнения. Другим пользователям в вызове немедленно предлагается установить или запустить дополнение.

Сопоставление происхождения

Источники, указанные в свойствах mainStageUrl и sidePanelUrl , сравниваются с источниками в манифесте дополнения для указанного номера облачного проекта. Если всё совпадает, пользователю разрешается запустить дополнение.

Кроме того, источник сайта, инициирующего демонстрацию экрана, должен быть указан в поле addOnOrigins в манифесте надстройки .

Более подробную информацию см. в разделе Защита надстроек .