如何向包含 iOS 和 Android 设备的 Firebase 中的主题发送消息

Posted

技术标签:

【中文标题】如何向包含 iOS 和 Android 设备的 Firebase 中的主题发送消息【英文标题】:How to send messages to a topic in Firebase which contains iOS & Android devices 【发布时间】:2021-10-31 21:26:48 【问题描述】:

我已阅读 FCM 文档,发现可以添加 condition 参数以指定多个主题。

但是我不清楚这是否是针对同一个操作系统主题的。

发送到同时包含 iosandroid 设备的主题时,FCM 负载应该是什么? 或者向 FCM 发送带有 condition 的有效负载,指定两个主题(适用于 iOS 和 Android),但实际的推送通知有效负载数据尚不清楚其中应包含什么。

【问题讨论】:

【参考方案1】:

Firebase 云消息传递在主题和设备操作系统之间没有任何关系。任何设备都可以订阅任何主题,当然您也可以选择让设备订阅特定于操作系统的主题。

如果您执行后者,您可以通过在消息topic 字符串中使用 OR 条件访问两个/所有操作系统上的设备:

"'TopicA_for_iOS' in topics || 'TopicA_for_Android' in topics"

如果您想知道如何向 iOS 和 Android 发送一条消息,请查看customizing messages across platforms 上的文档。

【讨论】:

是的,我知道这一点,但是发送到 Android(或 Android 包)和发送到 iOS(包或单个设备)是完全不同的有效负载。 firebase 是否有任何机制为包中的相应设备(iOS 和 Android)构建适当的有效负载 你的意思是firebase.google.com/docs/cloud-messaging/…? 哇,非常感谢...我不知何故没有检查这个确切的页面。似乎正是我缺少的文档。请您编辑您的主要评论并添加此链接(以获得更多可见性),以便我可以将其标记为“已接受的答案” 完成。 ? 还有一个 edit 链接可以让您自己做这件事。

以上是关于如何向包含 iOS 和 Android 设备的 Firebase 中的主题发送消息的主要内容,如果未能解决你的问题,请参考以下文章

Python - 通过 FCM / APNs 向 IOS 或 Android 设备推送通知

向 Android 设备发送数据 向 IOS 设备发送通知

如何使用 FCM 向 iOS 发送通知?

触控设备(iOS、Android)

如何在基于 Java 的应用服务器上使用 GCM 向 iOS 设备发送推送通知

在 ubuntu 下使用 Pushbullet Indicator 向 Android/iOS 设备推送文件