向用户推广插件

开发者可以通过 Meet 的通话中聊天功能和屏幕共享功能宣传其插件,从而提高插件的曝光度。

通话中聊天

当消息包含与某项插件相关联的链接时,系统会自动在 Meet 的通话中聊天中向用户宣传 Google Meet 插件。开发者无需采取任何行动即可在聊天中推广插件。审核团队会根据侧边栏 URI 和部署清单中设置的插件来源,确定要与插件关联的链接。

当用户通过与插件相关联的通话中聊天发送消息时,会发生以下两种情况之一:

  1. 如果未安装该插件,系统会显示一张卡片,提示用户安装该插件。
  2. 如果用户已安装该插件,系统会显示一个按钮,提醒用户打开该插件。

屏幕共享

通过屏幕共享推广插件。

本页面介绍了如何通过在另一个网页上放置少量代码,在通过 Google Meet 共享标签页时向用户宣传插件。

exposeToMeetWhenScreensharing() 方法允许网站在其标签页进行屏幕共享时向 Meet 发送信息。如果用户已安装该插件,则当用户点击演示横幅上的“开始活动”时,系统会在插件体验中使用此信息。如果用户在分享标签页时未安装该插件,系统会提示他们安装该插件。

AddonScreenshareInfo 对象包含五项属性,可根据使用情形添加:

  • additionalData:插件可用于初始化自身的信息。只有当 startActivityOnOpen 属性为 true 时才能设置,并且可以使用 ActivityStartingState 进行访问。如需了解详情,请参阅获取 activity 启动状态

  • cloudProjectNumber: 必需。您的 Google Cloud 项目的编号。

  • mainStageUrl:插件启动后主舞台打开的网址,例如 https://www.example.com。该网址必须与插件清单中指定的网址属于同一来源

  • sidePanelUrl:插件启动后侧边栏打开的网址,例如 https://www.example.com。该网址必须与插件清单中指定的网址属于同一来源

  • startActivityOnOpen: 必需。用户从演示横幅启动插件时,是否立即在 Meet 中启动插件体验。如果使用 mainStageUrl 属性,则必须为 true。

<

安装并导入 SDK

您可以使用 npm 或 gstatic 访问 SDK。

如果您的项目使用 npm,可以按照 Meet 加载项 SDK npm 软件包中的说明操作。

首先,安装 npm 软件包:

npm install @googleworkspace/meet-addons

然后,通过导入 MeetAddonScreenshareExport 接口即可使用 Meet Add-ons SDK:

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

对于 TypeScript 用户,TypeScript 定义与模块打包在一起。 TypeScript 用户应在项目的 tsconfig.json 中将 moduleResolution 设置为 "bundler",以便 package.json“exports”规范能够导入屏幕共享软件包导出

gstatic

Google Meet Add-ons SDK 以 JavaScript 软件包的形式提供,可从 gstatic(一个提供静态内容的网域)获取。

如需使用 Meet 插件 SDK,请将以下脚本标记添加到您的应用中:

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

Meet Add-ons SDK 可通过 window.meet.addon 下的 MeetAddon 接口获取。

示例:在侧边栏中加载,而不启动 activity

在以下代码示例中,用户屏幕共享的页面包含一个必须调整资源权限的插件,然后才能启动 activity。根据此要求,插件应在侧边栏中启动,而无需为所有人启动 activity。

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

替换以下内容:

  • CLOUD_PROJECT_NUMBER:字符串。您的 Cloud 项目的项目编号。
  • SIDE_PANEL_URL:字符串。侧边栏的网址。

当 Meet 通话中的用户分享网页时,他们会在 Meet 中看到演示横幅。点击横幅上的按钮会在侧边栏中打开相应云项目编号的插件。由于 startActivityOnOpen 属性已设置为 false,因此在设置 ActivityStartingState 之前,启动 activity 按钮处于停用状态。如需了解详情,请参阅使用 activity 启动状态

活动开始后,通话中的其他用户会收到提示,要求其启动或安装该插件。

GitHub 上的“动画”示例插件包含此示例,作为完整插件的一部分。当与插件关联的 Web 应用的索引页显示时,系统会提示呈现用户安装或设置该插件。

示例:在主舞台中加载

在以下代码示例中,如果用户在 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:字符串。主舞台的网址。

当 Meet 通话中的用户分享网页时,他们会在 Meet 中看到演示横幅。点击横幅上的按钮会在主阶段中打开相应云项目编号的插件。系统会加载 mainStageUrl 属性,并使用 additionalData 属性设置插件的 activity 启动状态。通话中的其他用户会立即收到提示,要求安装或启动该插件。

示例:在侧边栏中加载

在以下代码示例中,用户共享的页面包含一个想要在侧边栏(而非主舞台)中启动的插件:

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

替换以下内容:

  • CLOUD_PROJECT_NUMBER:字符串。您的 Cloud 项目的项目编号。
  • SIDE_PANEL_URL:字符串。侧边栏的网址。

当 Meet 通话中的用户分享网页时,他们会在 Meet 中看到演示横幅。点击横幅上的按钮会在侧边栏中打开相应云项目编号的插件。系统会加载 sidePanelUrl 属性,并使用 additionalData 属性设置插件的 activity 启动状态。通话中的其他用户会立即收到提示,要求安装或启动该插件。

来源匹配

系统会将 mainStageUrl 属性和 sidePanelUrl 属性中提供的来源与所提供云项目编号的插件清单中的来源进行比较。如果一切都匹配,则允许用户启动该插件。

此外,发起屏幕共享的网站的来源必须列在插件清单addOnOrigins 字段中。

如需了解详情,请参阅插件安全性