假设我有一个拥有100个用户的Android应用程序,我个人不认识。是否让每个人都订阅FirebaseMessaging.getInstance().subscribeToTopic("<company_id>_<user_id>");
这样的主题是正确的,这样我就可以解决这些问题并专门发送一两个通知,或者有更好的方法来做到这一点?
答案 0 :(得分:1)
如果您打算仅向特定用户发送消息,则可以在定位特定用户时继续使用to
或registration_ids
。 registration_ids
每个请求限制为1000个令牌。
根据主题,它旨在轻松地向其订阅者发送消息。根据您的使用情况,订阅它们可能没问题。但是,如果您需要发送特定消息,您仍应保留每个用户的注册令牌。
答案 1 :(得分:1)
这一切都取决于你的目标。
任何人都可以订阅某个主题,因此您应该只使用这些主题发送有针对性的公共消息。虽然您可以通过使主题名称难以猜测来对抗这一点,但主题的固有行为是您无法准确控制目标设备,以换取必须编写更少的代码。
如果您使用自己的代码发送令牌,则可以准确确定接收邮件的人员。但是你必须自己运行将消息映射到令牌的代码。
答案 2 :(得分:0)
我认为答案非常清楚,我只想补充一点,这种订阅方法可以很容易地与Firebase Web控制台结合使用。如果您想快速向任何主题发送消息,则会在注册时创建主题,因此您只需知道主题名称。
在Firebase Web控制台中,您可以找到目标,应用程序,设备令牌或主题。如果您选择主题,只需编写主题名称即可。有一个错误,总是说没有主题,忽略它,点击发送,推送将被发送,订阅者将收到他们的通知。