管理主题Firebase

时间:2018-08-25 10:21:02

标签: android firebase firebase-cloud-messaging

我想在Firebase中管理主题,以便我只能将带有附加参数的通知发送到特殊主题。

例如,我有一个主题“用户”,我希望不向所有订阅者发送通知,而仅向已登录的订阅者发送通知。

我这样尝试过:

FirebaseMessaging.getInstance().subscribeToTopic("Users") 

但是这会将消息发送给所有用户,无论他们是联机还是脱机。

我正在考虑做这样的事情:

FirebaseMessaging.getInstance().subscribeToTopic("Users",+CurrentUser).

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

使用Topics时,它将向所有订阅此主题的用户发送通知。如果要向特定用户发送通知,则需要检索用户注册令牌,并将其存储在数据库中,以便以后可以发送通知。

https://firebase.google.com/docs/cloud-messaging/android/first-message#access_the_registration_token

要检索当前令牌,请致电FirebaseInstanceId.getInstance().getInstanceId()

在以下情况下注册令牌会更改:

  • 该应用程序删除实例ID
  • 该应用已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用数据。