Messaging class

绑定到提供的应用的通讯服务。

签名

export declare class Messaging 

属性

属性 修饰符 类型 说明
应用 应用 与当前 Messaging 服务实例关联的应用

方法

方法 修饰符 说明
enableLegacyHttpTransport() sendEach()sendEachForMulticast() 启用旧版 HTTP/1.1 传输。
send(message, dyRun) 通过 FCM 发送指定的消息。
sendAll(messages, dyRun) 通过 Firebase Cloud Messaging 发送给定数组中的所有消息。采用批处理将整个列表作为单个 RPC 调用发送。与 send() 方法相比,此方法可更高效地发送多条消息。从返回值获得的响应列表对应于 MulticastMessage 中令牌的顺序。此方法出错表示总失败,这意味着列表中的所有消息都无法发送。部分失败由返回值 BatchResponse 表示。
sendeach(messages, dyRun) 通过 Firebase Cloud Messaging 发送指定数组中的每条消息。Messaging.sendAll() 不同,此方法会对给定数组中的每条消息进行一次 RPC 调用。从返回值中获取的响应列表对应于 messages 的顺序。此方法发生的错误或包含所有失败的 BatchResponse 表示总失败,这意味着列表中的任何消息都无法发送。部分失败或不失败仅通过 BatchResponse 返回值来指示。
sendeachForMulticast(message, dyRun) 将给定的多播消息发送到其中指定的所有 FCM 注册令牌。此方法在后台使用 Messaging.sendEach() API 将给定的消息发送给所有目标接收者。从返回值中获取的响应列表与 MulticastMessage 中词元的顺序对应。此方法发生的错误或包含所有失败的 BatchResponse 表示总失败,意味着列表中的消息可以发送。部分失败或失败仅通过 BatchResponse 返回值来指示。
sendMulticast(message, dyRun) 将给定的多播消息发送到其中指定的所有 FCM 注册令牌。此方法在后台使用 sendAll() API 将给定的消息发送给所有目标接收者。从返回值中获取的响应列表与 MulticastMessage 中词元的顺序对应。此方法出错表示总失败,即消息未发送至列表中的任意令牌。部分失败由返回值 BatchResponse 表示。
sendToCondition(condition, payload, options) 向条件发送 FCM 消息。如需查看代码示例和详细文档,请参阅发送到条件
sendToDevice(registrationTokenOrTokens, payload, options) 将 FCM 消息发送到与提供的注册令牌对应的单台设备。如需查看代码示例和详细文档,请参阅发送到个别设备。接受要发送到单台设备的 registrationToken,或包含要发送到多台设备的令牌数组的 registrationTokens 参数。
sendToDeviceGroup(notificationKey, payload, options) 向与提供的通知键对应的设备组发送 FCM 消息。如需查看代码示例和详细文档,请参阅发送到设备组
sendToTopic(topic, payload, options) 向某个主题发送 FCM 消息。如需查看代码示例和详细文档,请参阅发送到主题
subscribeToTopic(registrationTokenOrTokens, topic) 为设备订阅 FCM 主题。如需查看代码示例和详细文档,请参阅订阅主题。或者,您可以提供一组令牌来订阅多个设备。
unsubscribeFromTopic(registrationTokenOrTokens, 主题) 为设备退订 FCM 主题。如需查看代码示例和详细文档,请参阅退订主题。或者,您也可以提供一组令牌来为多台设备退订。

Messaging.app

与当前 Messaging 服务实例关联的应用

签名

get app(): App;

示例

var app = messaging.app;

Messaging.enableLegacyHttpTransport()

当 HTTP/2 传输实现的稳定性与旧版 HTTP/1.1 实现的稳定性相同时,将移除此机制。

sendEach()sendEachForMulticast() 启用旧版 HTTP/1.1 传输。

签名

enableLegacyHttpTransport(): void;

返回

void

示例

const messaging = getMessaging(app);
messaging.enableLegacyTransport();
messaging.sendEach(messages);

Messaging.send()

通过 FCM 发送指定的消息。

签名

send(message: Message, dryRun?: boolean): Promise<string>;

参数

参数 类型 说明
消息 短信 消息载荷。
dryRun 布尔值 是否在试运行(仅限验证)模式下发送消息。

返回

承诺<字符串>

在消息成功传递给 FCM 服务进行传送后,使用唯一的消息 ID 字符串执行的 promise。

Messaging.sendAll()

请改用 Messaging.sendEach()

通过 Firebase Cloud Messaging 发送给定数组中的所有消息。采用批处理将整个列表作为单个 RPC 调用发送。与 send() 方法相比,此方法发送多条消息的效率显著提高。

从返回值中获取的响应列表与 MulticastMessage 中词元的顺序对应。此方法出错表示总失败,这意味着列表中的所有消息都无法发送。部分失败由返回值 BatchResponse 表示。

签名

sendAll(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;

参数

参数 类型 说明
消息 发消息[] 最多包含 500 条消息的非空数组。
dryRun 布尔值 是否在试运行(仅限验证)模式下发送消息。

返回

Promise<BatchResponse>

由表示发送操作结果的对象执行的 promise。

Messaging.sendeach()

通过 Firebase Cloud Messaging 发送给定数组中的每条消息。

Messaging.sendAll() 不同,此方法对给定数组中的每条消息进行一次 RPC 调用。

从返回值中获取的响应列表对应于 messages 的顺序。此方法发生的错误或包含所有失败的 BatchResponse 表示总失败,这意味着列表中的任何消息都无法发送。部分失败或不失败仅通过 BatchResponse 返回值来指示。

签名

sendEach(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;

参数

参数 类型 说明
消息 发消息[] 最多包含 500 条消息的非空数组。
dryRun 布尔值 是否在试运行(仅限验证)模式下发送消息。

返回

Promise<BatchResponse>

由表示发送操作结果的对象执行的 promise。

Messaging.sendeachForMulticast()

将指定的多播消息发送到其中指定的所有 FCM 注册令牌。

此方法在后台使用 Messaging.sendOnce() API 将给定消息发送给所有目标接收者。从返回值中获取的响应列表与 MulticastMessage 中词元的顺序对应。此方法发生的错误或包含所有失败的 BatchResponse 表示总失败,意味着列表中的消息可以发送。部分失败或失败仅通过 BatchResponse 返回值来指示。

签名

sendEachForMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;

参数

参数 类型 说明
消息 MulticastMessage 最多包含 500 个令牌的多播消息。
dryRun 布尔值 是否在试运行(仅限验证)模式下发送消息。

返回

Promise<BatchResponse>

由表示发送操作结果的对象执行的 promise。

Messaging.sendMulticast()

请改用 Messaging.sendEachForMulticast()

将指定的多播消息发送到其中指定的所有 FCM 注册令牌。

此方法在后台使用 sendAll() API 将给定消息发送给所有目标收件人。从返回值中获取的响应列表与 MulticastMessage 中词元的顺序对应。此方法出错表示总失败,即消息未发送至列表中的任意令牌。部分失败由返回值 BatchResponse 表示。

签名

sendMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;

参数

参数 类型 说明
消息 MulticastMessage 最多包含 500 个令牌的多播消息。
dryRun 布尔值 是否在试运行(仅限验证)模式下发送消息。

返回

Promise<BatchResponse>

由表示发送操作结果的对象执行的 promise。

Messaging.sendToCondition()

向某个条件发送 FCM 消息。

如需查看代码示例和详细文档,请参阅发送到条件

签名

sendToCondition(condition: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingConditionResponse>;

参数

参数 类型 说明
condition 字符串 确定向哪些主题发送消息的条件。
payload Messaging 载荷 消息载荷。
选项 MessagingOptions 用于修改消息的可选选项。

返回

Promise<MessagingConditionResponse>

发送消息后服务器响应返回的 promise。

Messaging.sendToDevice()

请改用 Messaging.send()

向与所提供的注册令牌对应的一台设备发送一条 FCM 消息。

请参阅发送到个别设备,查看代码示例和详细文档。接受要发送到单台设备的 registrationToken,或包含要发送到多台设备的令牌数组的 registrationTokens 参数。

签名

sendToDevice(registrationTokenOrTokens: string | string[], payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingDevicesResponse>;

参数

参数 类型 说明
registrationTokenOrTokens 字符串 |字符串 []
payload Messaging 载荷 消息载荷。
选项 MessagingOptions 用于修改消息的可选选项。

返回

Promise<MessagingDevicesResponse>

发送消息后服务器响应返回的 promise。

Messaging.sendToDeviceGroup()

请改用 Messaging.send()

向与所提供的通知键对应的设备组发送 FCM 消息。

如需查看代码示例和详细文档,请参阅发送到设备组

签名

sendToDeviceGroup(notificationKey: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingDeviceGroupResponse>;

参数

参数 类型 说明
通知键 字符串 要向其中发送消息的设备组的通知键。
payload Messaging 载荷 消息载荷。
选项 MessagingOptions 用于修改消息的可选选项。

返回

Promise<MessagingDeviceGroupResponse>

发送消息后服务器响应返回的 promise。

Messaging.sendToTopic()

向某个主题发送 FCM 消息。

如需查看代码示例和详细文档,请参阅发送到主题

签名

sendToTopic(topic: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingTopicResponse>;

参数

参数 类型 说明
topic 字符串 发送消息的目标主题。
payload Messaging 载荷 消息载荷。
选项 MessagingOptions 用于修改消息的可选选项。

返回

Promise<MessagingTopicResponse>

发送消息后服务器响应返回的 promise。

Messaging.subscribeToTopic()

为设备订阅 FCM 主题。

如需查看代码示例和详细文档,请参阅订阅主题。或者,您可以提供一组令牌来订阅多个设备。

签名

subscribeToTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;

参数

参数 类型 说明
registrationTokenOrTokens 字符串 |字符串 []
topic 字符串 要订阅的主题。

返回

Promise<MessagingTopicManagementResponse>

在设备订阅主题后,通过服务器的响应执行的 promise。

Messaging.unsubscribeFromTopic()

为设备退订 FCM 主题。

如需查看代码示例和详细文档,请参阅退订主题。或者,您也可以提供一组令牌来为多台设备退订。

签名

unsubscribeFromTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;

参数

参数 类型 说明
registrationTokenOrTokens 字符串 |字符串 []
topic 字符串 要退订的主题。

返回

Promise<MessagingTopicManagementResponse>

在设备取消订阅主题后,通过服务器响应实现的 promise。