我想在 Firebase 中管理主题,以便我只能使用其他参数向特殊主题发送通知。
例如,我有一个主题"用户",我想不向所有订阅者发送通知,而只向登录的订阅者发送通知。
我是这样试过的:
FirebaseMessaging.getInstance().subscribeToTopic("Users")
但这会将消息发送给所有用户,无论他们是联机还是脱机。
我正在考虑做这样的事情:
FirebaseMessaging.getInstance().subscribeToTopic("Users",+CurrentUser).
关于如何做到这一点的任何想法?
当您使用Topics
时,它将向订阅此主题的所有用户发送通知。如果要向特定用户发送通知,则需要检索用户注册令牌,并将其存储在数据库中,以便以后能够发送通知。
https://firebase.google.com/docs/cloud-messaging/android/first-message#access_the_registration_token
若要检索当前令牌,请调用FirebaseInstanceId.getInstance().getInstanceId()
在以下情况下,注册令牌会更改:
- 应用删除实例 ID
- 应用在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。