【问题标题】:Firebase Notification by topic按主题的 Firebase 通知
【发布时间】:2019-03-02 05:23:03
【问题描述】:

我是 Firebase 的新手。我想向我的关注者列表发送通知(instagram 等成员组)。

我为每个用户创建了一个独特的主题,用户的所有关注者都将订阅该主题。当我向主题发送通知时,通知不会始终发送给所有关注者。

当用户点击 follow 按钮时,我正在订阅该主题

FirebaseMessaging.getInstance().subscribeToTopic(FollowerUserID);

点击取消关注我将取消订阅该主题

FirebaseMessaging.getInstance().unsubscribeFromTopic(FollowerUserID);

我使用 Firebase 云功能将通知推送到主题。

如果某个用户的 Firebase Token 发生了变化,我们是否需要再次订阅该主题?

我不知道订阅/取消订阅模型是如何工作的。有人能解释一下它的工作原理吗?

请帮助我摆脱这个问题。

建议我向一群人(关注者)发送通知的最佳方式。

【问题讨论】:

    标签: firebase firebase-cloud-messaging


    【解决方案1】:

    Firebase 云消息传递主题订阅基于实例 ID不是 FCM 令牌。 Instance ID 唯一标识一个应用设备实例,除非用户卸载应用,否则它不会改变。如果应用实例订阅了某个主题,它将保持订阅状态。虽然 FCM 令牌会定期刷新,但这不会影响主题订阅。每次令牌刷新时都无需重新订阅用户。有关一些有用信息,请参阅guide。您还可以看到 reference 指示 subscribeToTopic 如何与实例 ID 配合使用。

    【讨论】:

    • 感谢 Jen 的回答。我有一个场景,如果某些用户卸载应用程序(应用程序实例 ID 将从主题中删除)并再次安装应用程序(将创建新实例 ID 但不订阅主题),我已将实例 ID 用于 subscribeToTopic。我将如何从 firebase 云功能向新安装的用户发送通知。是否有任何可能的方式通过 firebase 云功能发送通知?
    【解决方案2】:

    第一件事。 如果 firebase 用户令牌更改并且该令牌已订阅云消息通知,那么他将不再收到任何通知,同样如果他订阅了某个主题并且该主题发生更改,他将不会收到来自新主题的任何通知

    对于您的业务逻辑,我将为每个用户创建一个云消息传递主题,每当有人关注该用户时,我都会将该用户令牌订阅到关注用户的主题。 假设用户 X 关注了用户 Y,用户 Z 关注了用户 X。Y 和 Z 都会订阅主题 X。

    检查此链接 https://firebase.google.com/docs/cloud-messaging/admin/manage-topic-subscriptions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多