chrome.gcm

说明

使用 chrome.gcm 可让应用和扩展程序通过 Firebase Cloud Messaging (FCM) 发送和接收消息。

权限

gcm

属性

MAX_MESSAGE_SIZE

消息中所有键值对的大小上限(以字节为单位)。

4096

方法

register()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.gcm.register(
  senderIds: string[],
  callback?: function,
)

向 FCM 注册该应用。callback 将返回注册 ID。如果使用同一 senderIds 列表再次调用 register,则会返回相同的注册 ID。

参数

  • senderIds

    字符串[]

    允许向应用发送消息的服务器 ID 列表。其中应包含至少 1 个发送者 ID,但不得超过 100 个。

  • callback

    函数(可选)

    callback 参数如下所示:

    (registrationId: string) => void

    • registrationId

      字符串

      FCM 为应用分配的注册 ID。

返回

  • 承诺<字符串>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

send()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.gcm.send(
  message: object,
  callback?: function,
)

根据消息内容发送消息。

参数

  • 消息

    对象

    要通过 FCM 发送给另一方的消息。

    • 数据

      对象

      要发送到服务器的消息数据。不允许将不区分大小写的 goog.google 以及区分大小写的 collapse_key 用作键前缀。所有键值对的总和不应超过 gcm.MAX_MESSAGE_SIZE

    • destinationId

      字符串

      Google API 控制台指定的消息接收服务器 ID。

    • messageId

      字符串

      消息的 ID。应用范围内的每条消息都必须是唯一的。有关选择和处理 ID 的建议,请参阅云消息传递文档

    • timeToLive

      编号(选填

      消息的存留时间(以秒为单位)。如果不能在这段时间内发送消息,则会引发 onSendError 事件。存留时间 (0) 表示应立即发送消息,否则将失败。存留时间的默认值为 86400 秒(1 天),最大值为 2419200 秒(28 天)。

  • callback

    函数(可选)

    callback 参数如下所示:

    (messageId: string) => void

    • messageId

      字符串

      发出回调的消息的 ID。

返回

  • 承诺<字符串>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

unregister()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.gcm.unregister(
  callback?: function,
)

从 FCM 中取消注册该应用。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

事件

onMessage

chrome.gcm.onMessage.addListener(
  callback: function,
)

通过 FCM 收到消息时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (message: object) => void

    • 消息

      对象

      • collapseKey

        字符串(可选)

        消息的折叠键。如需了解详情,请参阅不可折叠和可折叠消息

      • 数据

        对象

        消息数据。

      • 来自

        字符串(可选)

        发送消息的发送者。

onMessagesDeleted

chrome.gcm.onMessagesDeleted.addListener(
  callback: function,
)

在 FCM 服务器必须删除应用服务器发送至应用的消息时触发。如需详细了解如何处理此事件,请参阅消息的生命周期

参数

  • callback

    函数

    callback 参数如下所示:

    () => void

onSendError

chrome.gcm.onSendError.addListener(
  callback: function,
)

在无法向 FCM 服务器发送消息时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (error: object) => void

    • 错误

      对象

      • 详细信息

        对象

        与错误相关的其他详细信息(如果有)。

      • 错误消息

        字符串

        用于描述问题的错误消息。

      • messageId

        字符串(可选)

        包含此错误的消息的 ID(如果错误与特定消息相关)。