【问题标题】:How to replace the subscribed topic for a Device/User in FCM如何在 FCM 中替换设备/用户的订阅主题
【发布时间】:2018-06-07 10:25:29
【问题描述】:

目前我有一个要求,我必须为不同类型的用户订阅不同的主题。 用例是如果多个用户从单个设备登录,根据登录用户的角色订阅和取消订阅主题的方法是什么。 一个快速的解决方案是取消订阅所有主题,然后订阅适当的主题。

假设 user3 登录到应用程序。退订所有主题。

FirebaseMessaging.getInstance().unsubscribeFromTopic("Topic1");
FirebaseMessaging.getInstance().unsubscribeFromTopic("Topic2");
FirebaseMessaging.getInstance().unsubscribeFromTopic("Topic3");

然后订阅相应的。

FirebaseMessaging.getInstance().subscribeToTopic("Topic3");

我不确定这是解决此问题的最佳方法。有人有更好的方法吗?请帮我。提前致谢

【问题讨论】:

  • 您应该拥有相应用户订阅的主题列表。每次他们登录/退出时,您都会根据列表相应地订阅/取消订阅主题。
  • 实际上我想检查订阅的主题是什么,所以我只需要取消订阅一些主题,但不是全部,包括从未订阅的主题。有没有办法找到当前订阅的所有主题
  • 没有。您必须自己维护该列表。可能将主题名称保存在设备列表下。
  • 是的,有道理

标签: android ios firebase xamarin firebase-cloud-messaging


【解决方案1】:

你的做法是正确的,用户注销时取消订阅,新用户登录时重新订阅。

【讨论】:

  • 不,我想继续接收旧用户的通知,即使他已注销,直到新用户登录应用程序。
猜你喜欢
  • 1970-01-01
  • 2019-04-13
  • 2018-06-17
  • 2019-12-21
  • 2017-09-07
  • 1970-01-01
  • 2021-08-29
  • 2017-05-07
  • 2016-10-31
相关资源
最近更新 更多