chrome.gcm

说明

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

权限

gcm

属性

MAX_MESSAGE_SIZE

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

4096

方法

register()

chrome.gcm.register(
  senderIds: string[],
)
: Promise<string>

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

参数

  • senderIds

    字符串[]

    允许向应用发送消息的服务器 ID 的列表。应包含至少一个且不超过 100 个发件人 ID。

返回

  • Promise<string>

    Chrome 116 及更高版本

send()

chrome.gcm.send(
  message: object,
)
: Promise<string>

根据消息内容发送消息。

参数

  • 私信

    对象

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

    • 数据

      对象

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

    • destinationId

      字符串

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

    • messageId

      字符串

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

    • timeToLive

      number 可选

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

返回

  • Promise<string>

    Chrome 116 及更高版本

unregister()

chrome.gcm.unregister(): Promise<void>

从 FCM 取消注册应用。

返回

  • Promise<void>

    Chrome 116 及更高版本

事件

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

    • 错误

      对象

      • 详细信息

        对象

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

      • errorMessage

        字符串

        描述问题的错误消息。

      • messageId

        字符串(选填)

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