Push notification 如何妥善处理注册用户';s登录/注销并且不向注销用户发送通知?

Push notification 如何妥善处理注册用户';s登录/注销并且不向注销用户发送通知?,push-notification,Push Notification,我已经为下面的问题挣扎了很长一段时间,但我还没有找到合适的解决方案。问题是,如果我们的应用程序具有登录/注销功能,那么对于应用程序的某些部分,比如新闻,您不需要登录,但是对于评论,您需要有一个帐户。我正在使用Firebase进行通知 所以在这个场景中,我想在平台上发布新帖子时发送通知。为此,我使用了主题。当有人回复他们的评论时,我也不会通知用户。为此,我向设备令牌发送通知,目标是用户登录的设备。很容易有机制将新的设备令牌注册到我的数据库中。当用户登录时,mobile developer需要实现读

我已经为下面的问题挣扎了很长一段时间,但我还没有找到合适的解决方案。问题是,如果我们的应用程序具有登录/注销功能,那么对于应用程序的某些部分,比如新闻,您不需要登录,但是对于评论,您需要有一个帐户。我正在使用Firebase进行通知

所以在这个场景中,我想在平台上发布新帖子时发送通知。为此,我使用了主题。当有人回复他们的评论时,我也不会通知用户。为此,我向设备令牌发送通知,目标是用户登录的设备。很容易有机制将新的设备令牌注册到我的数据库中。当用户登录时,mobile developer需要实现读取并向我发送新设备令牌的功能,以便我可以将其保存在数据库中

然而,当用户从应用程序注销时会出现问题,我需要mobile developer在后端的特定端点上通知我,以便我可以从数据库中删除设备(例如/auth/logout)。但这里的主要问题是我们依赖于互联网,但在通知从数据库中删除设备之前,互联网连接可能会失败的原因有很多。在这种情况下,设备令牌将不会从数据库中删除,当有人回复用户的评论时,我将向设备发送通知,用户将收到通知,即使他们已注销


所以我想问的是,处理这种情况的正确方法是什么?如何防止在用户注销时发送通知?

一种方法是在请求未通过之前防止注销,但这可能不是一种好的用户体验

另一个是尝试删除注册令牌,因此Firebase无法将其传播到设备。 从文档中,我相信您正在查找
FirebaseMessaging.deleteToken()

此外,在下一次启动应用程序时,将创建新的令牌,可以将其关闭,然后延迟到登录