【发布时间】:2017-09-22 19:05:00
【问题描述】:
我正在使用 firebase,并且我有一个需要向所有用户发送通知的应用程序。因此,为了实现这一点,我创建了一个所有设备都订阅的主题 allUsers。现在,如果我向这个主题发送推送通知,每个设备都会收到它。我想排除一台设备,该设备间接向 /topics/allUsers 创建推送通知。
这可以实现吗?
【问题讨论】:
标签: android firebase firebase-cloud-messaging
我正在使用 firebase,并且我有一个需要向所有用户发送通知的应用程序。因此,为了实现这一点,我创建了一个所有设备都订阅的主题 allUsers。现在,如果我向这个主题发送推送通知,每个设备都会收到它。我想排除一台设备,该设备间接向 /topics/allUsers 创建推送通知。
这可以实现吗?
【问题讨论】:
标签: android firebase firebase-cloud-messaging
更新:
对于Android,我所做的是,我在payload中包含一个sender自定义值,检查该值是否与当前用户的id相同,如果是,我不显示通知。
主题消息传递的工作原理是所有订阅者都会收到发送到相应主题的消息。
您不能排除特定订阅者。你将不得不:
registration_ids 将消息发送给特定用户除此之外,目前没有其他解决方法可以解决您想要做的事情。
【讨论】:
可能有点晚了,但是在阅读Frank´s post之后,我想到了为所有用户创建主题,然后为每个用户创建主题,然后在发送消息时,您可以添加主题条件,例如:
('AllUsers' in topics) && !('user_foo' in topics)
【讨论】: