在Firebase中,如果用户设备令牌存储在Firebase数据库中,云功能可以向任何用户发送推送通知。同样,如果用户订阅了某个主题,那么另一个用户也可以向该用户发送通知。现在的问题是,在什么情况下,我们应该使用主题消息传递,在什么情况下,我们应该使用云函数发送通知。如果任何用户订阅他的唯一ID (如Firebase提供的),那么任何人都可以通过将主题消息发布到该唯一ID来向他发送主题消息。这是一种好方法吗?还是应该使用云功能使用设备令牌向该用户发送推送通知。订阅自己的唯一ID来获得通知是个好主意吗?请帮我解决我的问题。主题消息可以免费使用吗?
发布于 2019-06-29 05:25:04
Firebase消息传递完全可以免费使用,包括主题的使用。
使用主题时,您可以将发送有关主题的消息与应用程序的安装订阅该主题的事实分开。这意味着以后可以将订阅者添加到主题中,而不必编写额外的代码甚至数据(因为订阅主题的令牌列表由FCM本身处理)。
另一方面,话题是公开的。一旦某人知道了主题ID,他们就可以订阅该主题,并接收发送到该主题的任何消息。
使用主题的替代方法是直接向FCM实例ID令牌发送消息。在这种情况下,您将在自己的某个地方保存一个令牌列表,并确定要向哪个令牌传递消息。在这种情况下,您完全控制谁接收消息,但必须维护您自己的令牌列表,以及映射哪个令牌接收什么消息。
请注意,发送消息(无论是发送到主题还是发送到令牌)可以在任何受信任的环境中完成,比如您的开发机器、您控制的服务器或云函数。并且发送消息(无论是发送到主题还是发送标记),都不能(安全地)从客户端代码中完成。
https://stackoverflow.com/questions/56814931
复制相似问题