向使用FCM Firebase的登录用户以外的所有订阅该用户的用户推送通知

时间:2017-06-07 07:30:17

标签: firebase firebase-cloud-messaging

现在我有一个拥有超过一万名成员的小组,并且我创建了一个主题组(通知主题),其中该组中的所有用户都订阅了该主题。现在,在组内,任何用户都可以添加类似图像,文件或视频的帖子。当用户添加帖子时,我需要向订阅该主题的所有用户发送通知,但除了一个,即添加帖子的人。我怎样才能实现这个目标?

现在通知所有用户,包括添加帖子的人。

2 个答案:

答案 0 :(得分:2)

目前没有任何类型的参数可以排除特定用户从他们订阅的主题接收消息。但是,作为一种解决方法,您可以简单地在构建有效负载和处理消息以接收它时使用自定义实现。

根据您构建有效负载的方式,您只需添加一个自定义键值对,其中包含发布数据的用户ID(类似posterId或简称userId)。

然后在您的客户端,处理推送通知时,只需检查ID是否为用户。如果是同一个用户,请不要显示通知,否则显示通知。 e.g:

if (userId == currentUserId) {
    // if user is the one that sent the message, don't show the notification
    return;
}

答案 1 :(得分:1)

即使这个问题已经回答并且有点老了,也有解决方法。因此,我仍将添加答案以供将来参考。您可以做的是从主题中退订用户,将消息发送到主题,然后再次订阅用户。当然,这需要更多的工作并可以调用Firebase,但随后您便有了所需的内容。

只是一个想法