如何向包含 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
参数以指定多个主题。
但是我不清楚这是否是针对同一个操作系统主题的。
发送到同时包含 ios 和 android 设备的主题时,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 设备推送通知