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

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

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

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

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

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

  • AddonScreenshareInfo.cloudProjectNumber : обязательно. Номер проекта Google Cloud надстройки.

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

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

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

Пример: Загрузка в основной сцене

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

<script src="https://www.gstatic.com/meetjs/addons/0.1.0/meet.addons.screenshare.js"></script>
<script>
meet.addon.screensharing.exposeToMeetWhenScreensharing(
  {
    cloudProjectNumber: CLOUD_PROJECT_NUMBER,
    startActivityOnOpen: true,
    mainStageUrl: MAIN_STAGE_URL,
    additionalData: "{\"selected_item\": \"42\"}",
  }
);
</script>

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

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

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

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

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

<script src="https://www.gstatic.com/meetjs/addons/0.1.0/meet.addons.screenshare.js"></script>
<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. Нажатие кнопки на баннере открывает дополнение для данного номера облачного проекта на боковой панели. AddonScreenshareInfo.sidePanelUrl загружается, а AddonScreenshareInfo.additionalData используется для установки начального состояния совместной работы надстройки. Другим участвующим в звонке пользователям сразу же будет предложено установить или запустить надстройку.

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

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

<script src="https://www.gstatic.com/meetjs/addons/0.1.0/meet.addons.screenshare.js"></script>
<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. Нажатие кнопки на баннере открывает дополнение для данного номера облачного проекта на боковой панели. Поскольку AddonScreenshareInfo.startActivityOnOpen установлено значение false, кнопка запуска действия отключена до тех пор, пока не будет установлен CollaborationStartingState . Дополнительные сведения см. в разделе Использование начального состояния сотрудничества .

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

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

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

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

Дополнительную информацию см. в разделе Дополнительная безопасность .