使用GCM,当用户表达他们是否愿意收到通知的偏好时,我们可以将他们的偏好标记为active
或inactive
如何使用 FCM 实现类似的效果?
当用户说他们不想收到推送时,我们将不得不取消订阅用户拥有的所有主题?
有没有更好的方法?
根据场景,取消订阅主题是要走的路。
但是,如果您的目标是简单地防止用户看到屏幕上出现的任何推送通知,我能想到的一种解决方法是有一个设置(例如启用/禁用通知),以确定您是否应该/不应该在用户每次收到通知时都显示通知。
例如,用户安装应用。最初,该设置默认为启用。推送通知正常显示。如果用户禁用它,则当设备收到消息时,您不会创建通知显示。
为此,我认为应该在您创建通知的方法中进行检查(例如sendNotification
)。
所以现在的情况是设备在技术上仍在接收通知,只是你没有向用户显示/显示它。
注意:我自己没有尝试过这种情况,所以我不确定这是否违反了任何最佳实践。如果是我,我仍然会取消订阅。这更容易。