如何不向不想接收推送的用户发送 FCM?

Posted

技术标签:

【中文标题】如何不向不想接收推送的用户发送 FCM?【英文标题】:How not to send FCM to users who don't want to receive push? 【发布时间】:2018-03-02 15:01:22 【问题描述】:

使用 GCM,当用户表达他们是否愿意接收通知的偏好时,我们可以将他们的偏好标记为 activeinactive

如何使用 FCM 实现类似的效果?

当用户说他们不想接收推送时,我们必须取消用户对我们拥有的所有主题的订阅?

有更好的方法吗?

【问题讨论】:

不这么认为,我觉得唯一的办法就是用户按照你说的退订这个话题 退订主题是推荐的方式。但是,这取决于您通过主题发送的通知。 【参考方案1】:

根据情况,退订主题是可行的方法。

但是,如果您的目标是简单地阻止用户看到任何推送通知出现在他们的屏幕上,我能想到的解决方法是有一个设置(例如启用/禁用通知)来标识如果您应该/不应该在每次用户收到通知时都显示通知。

例如,用户安装应用程序。最初,该设置默认为启用。推送通知正常显示。如果用户禁用它,当设备收到消息时,您不会创建通知显示。

为此,我认为检查应该在您创建通知的方法内完成(例如sendNotification)。

所以现在的情况是设备在技术上仍然接收通知,只是您没有向用户显示/显示它。

注意:我自己没有尝试过这种情况,所以我不确定这是否违反了任何最佳实践。如果是我,我仍然会取消订阅。这更容易。

【讨论】:

以上是关于如何不向不想接收推送的用户发送 FCM?的主要内容,如果未能解决你的问题,请参考以下文章

解析服务器不向大量受众发送推送通知

如何在 nodejs 中使用 FCM 发送 AWS SNS 推送通知?

如何使用 FCM 向我的数据库中的用户发送推送通知?安卓

如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知

从 web 上的 fcm 向现有 gcm 用户发送推送通知

如何在接收基于 Flutter 构建的 FCM 推送通知时修复应用程序崩溃