将 Firebase Cloud Messaging (FCM) 与 chrome.gcm 搭配使用

您可以通过以下应用向最终用户发送和接收消息: chrome.gcm。因为它是基于 Firebase Cloud Messaging (FCM),它依赖于您需要的外部服务 进行设置。本方法指南将引导您完成获取该工具的所有必要步骤 。

虽然 chrome.gcm 受支持,但它是十多年前创建的 推送标准一般来说,最好的做法始终是 标准 API,而不是扩展程序专用的 API。除非您有特定需求 要使用 chrome.gcm,我们建议使用推送

前提条件

如需使用 chrome.gcm,您需要设置 Firebase

<ph type="x-smartling-placeholder">
</ph> Firebase.com 首页。
Firebase.com 首页

创建账号后,您需要打开 Firebase 控制台,然后选择要使用的现有项目,或创建一个新项目 。

<ph type="x-smartling-placeholder">
</ph> Firebase 控制台上项目列表的屏幕截图。
Firebase 控制台中的项目列表

继续前往 Cloud Messaging 的设置页面

<ph type="x-smartling-placeholder">
</ph> Firebase Cloud Messaging 设置页面的屏幕截图。
Firebase Cloud Messaging 设置页面

如果您已经拥有此项目的云消息传递账号,则需要 复制列出的发送者 ID(用数字表示)。

如果未启用云消息传递,则需要启用 Firebase Google Cloud 内部项目的 Cloud Messaging API。在以下 您可以看到 Firebase 中此页面的 设置。

<ph type="x-smartling-placeholder">
</ph> 在 Google Cloud 中启用 Firebase Messaging API 的链接位置的屏幕截图。
在 Firebase 中打开 Google Cloud 设置链接

启用后,返回 Cloud 的设置页面 发送消息,然后复制发送者 ID。

配置 chrome.gcm

现在您已从 Firebase 获得发送者 ID,接下来可以配置扩展程序了 监听消息。首先,请确保您已添加 gcm 对您的扩展程序的 manifest.json 的权限

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

您现在可以访问 chrome.gcm API 了。您可以注册监听推送消息 通过调用 chrome.gcm.register 发送的消息

监听消息

扩展程序注册发送者 ID 后,您需要添加代码来处理 消息。

不使用 Firebase 的 Firebase

虽然 chrome.gcm 始终通过 Firebase 运行,但 Firebase 可以配置为 充当外部推送消息传递供应商的代理。通常情况下,供应商会 明确列出了对 Chrome 扩展程序的支持, Firebase 的旧版推送通知应该正常运行。如果您的提供商列出 支持 Firebase 的旧版推送通知,欢迎体验一下。如果您遇到 提供商支持人员应能够澄清 应用场景

针对频道和主题

chrome.gcm 使用的是旧版 Firebase Messaging API。这很重要 因为旧版 API 不支持消息通道。每封邮件 将传送到每个客户端如果用户的扩展程序只对 部分邮件,您需要自行进行过滤。

Firebase 最初是作为免费账号使用,但超出配额后,您需要 特定使用量阈值。如果您打算向特定群组发送邮件 那么客户端过滤功能最终所耗费的成本可能会超过预期您可以 为了解决这个问题,可以创建多个项目来复制各个渠道 (每个渠道一个项目和一个发送者 ID)。任何给定的扩展程序都可以 注册多个发送者 ID(最多 100 个)。

或者,如果您需要频道支持,或者想要使用推送通知 您可以使用 Push API