Firebase Cloud Messaging:Firebase Admin SDK 中的设备组发送支持
Posted
技术标签:
【中文标题】Firebase Cloud Messaging:Firebase Admin SDK 中的设备组发送支持【英文标题】:Firebase Cloud Messaging: Device Group sending support in Firebase Admin SDK 【发布时间】:2020-02-13 13:24:55 【问题描述】:我正在努力寻找有关 Firebase 云消息传递是否支持在 v1 HTTP API 中向设备组发送通知的答案。
根据migration documents,支持发送到设备组。
注意:任何使用设备群组消息传递的应用都必须继续使用旧版 API 来管理设备群组(创建、更新等)。 HTTP v1 可以向设备组发送消息,但不支持管理。
重要的部分是“HTTP v1 可以向设备组发送消息”
我正在使用firebase-admin-python
SDK,当发送一条或一组批量消息时,我得到了成功的响应,但没有发送推送通知。
SDK 是否以与firebase_admin.messaging.send
和firebase_admin.messaging.send_all
相同的方式实际支持发送到设备组?上面的陈述让我相信它们是,但推送没有交付(它们在使用旧的遗留 FCM API 时确实交付)
【问题讨论】:
您是如何尝试从 SDK 发送到设备组的? API 仅接受单个设备令牌、主题名称和条件字符串。 我尝试使用firebase_admin.messaging.send
函数,在 Message 对象中将通知键作为 to
参数。如果 API 只接受设备令牌、主题名称和条件字符串,我很困惑为什么文档声明支持设备组发送?
【参考方案1】:
我假设您的意思是 token
参数。 Message
上没有名为 to
的参数。
您引用的文档适用于 HTTP v1 API。它可能很好地支持发送到设备组——尽管我还没有找到任何例子来证实这一点。但我确信 SDK(都期望 Node.js SDK)既不公开也不支持任何发送到设备组的功能。 https://firebase.google.com/docs/cloud-messaging/send-message 的文档概述了您可以使用 Python SDK 发送消息的所有不同方式,并且没有提及发送到设备组。 Message.token
参数必须指定一个单独的设备注册令牌。
然而,当将设备组密钥作为令牌传递时,FCM 后端没有返回错误,这很奇怪。我建议为此报告一个错误。
【讨论】:
是的,抱歉,我的意思是token
而不是 to
(在遗留负载和 v1 负载之间混淆了)。以上是关于Firebase Cloud Messaging:Firebase Admin SDK 中的设备组发送支持的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Firebase Cloud Messaging onMessage 被触发两次
Google Cloud Messaging与Firebase
Firebase Cloud Messaging:Firebase Admin SDK 中的设备组发送支持
如何使用 Firebase Cloud Messaging 在前台显示多个通知