chrome.gcm

说明

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

权限

gcm

属性

MAX_MESSAGE_SIZE

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

4096

方法

register()

Promise
chrome.gcm.register(
  senderIds: string[],
  callback?: function,
)

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

参数

  • senderIds

    字符串[]

    可以向应用发送消息的服务器 ID 列表。此邮件中应包含至少 1 个且不超过 100 个发送者 ID。

  • callback

    函数(可选)

    callback 参数如下所示:

    (registrationId: string)=>void

    • registrationId

      string

      FCM 为应用分配的注册 ID。

返回

  • Promise<string>

    Chrome 116 及更高版本

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

send()

Promise
chrome.gcm.send(
  message: object,
  callback?: function,
)

根据内容发送消息。

参数

  • 信息

    对象

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

    • data

      对象

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

    • destinationId

      string

      发送消息的服务器的 ID,由 Google API 控制台分配。

    • messageId

      string

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

    • timeToLive

      数字可选

      消息的存留时间(以秒为单位)。如果在这段时间内无法发送消息,则会引发 onSendError 事件。存留时间 0 表示消息应立即发送,否则发送失败。存留时间的默认值为 86,400 秒(1 天),最大值为 2,419,200 秒(28 天)。

  • callback

    函数(可选)

    callback 参数如下所示:

    (messageId: string)=>void

    • messageId

      string

      发出回调的消息的 ID。

返回

  • Promise<string>

    Chrome 116 及更高版本

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

unregister()

Promise
chrome.gcm.unregister(
  callback?: function,
)

从 FCM 中取消注册应用。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    ()=>void

返回

  • Promise<void>

    Chrome 116 及更高版本

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

活动

onMessage

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

通过 FCM 收到消息时触发。

参数

  • callback

    功能

    callback 参数如下所示:

    (message: object)=>void

    • 信息

      对象

      • collapseKey

        字符串(可选)

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

      • data

        对象

        消息数据。

      • 来自

        字符串(可选)

        发出邮件的发件人。

onMessagesDeleted

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

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

参数

  • callback

    功能

    callback 参数如下所示:

    ()=>void

onSendError

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

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

参数

  • callback

    功能

    callback 参数如下所示:

    (error: object)=>void

    • error

      对象

      • 明细

        对象

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

      • errorMessage

        string

        描述问题的错误消息。

      • messageId

        字符串(可选)

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