android - 用户卸载应用程序时停止发送 Firebase 通知
问题描述
我正在使用 firebase 在我的 android 应用程序中推送通知。
我有存储用户 id 、他的令牌和登录状态(登录 - 未登录)的 sql 数据库,以便在发送通知之前检查。
一切正常,直到我想到这种情况,如果用户卸载应用程序怎么办?登录将始终为真,他仍将收到通知。因为我做了一些研究,发现我无法检测到用户何时会卸载应用程序,因此我可以更新他的登录状态。
知道我该怎么做吗?或者您有什么比存储登录状态更好的主意吗?因为现在用户不能从应用程序中注销,除非他有互联网连接,所以我可以通过 API 更新他的登录状态。这没有任何意义。但我找不到任何其他想法。
解决方案
如果用户卸载应用,Firebase Cloud Messages 提供的设备令牌将随着时间的推移而失效。您可以使用下游消息错误响应代码检测这种情况。特别要注意“未注册”的设备,无论您使用的是什么客户端库或协议。请注意,这不一定保证用户卸载了应用程序,而是处理任何随时间失效的 FCM 设备令牌的通用方法。
另请参阅这些答案:
推荐阅读
- javascript - 循环访问javascript对象的问题
- java - Android appcompat-v7:28.0.0-rc01 预览不起作用
- javascript - normal.js:19 未捕获的类型错误:无法将属性“innerHTML”设置为 null
- firebase - 颤振:firebase消息导航器不起作用
- c++ - OpenGL 纹理未显示(我不使用着色器)
- c# - 使用实体框架从单个控件将数据输入多个表的过程
- docker - 如何将 docker 层拆分为较小的文件(上传时)?
- javascript - InnerHtml 中的 Angular 6 自定义元素不断重新加载
- android - 受限用户应用程序选择不适用于 Oreo 8.0?
- haskell - 如何将构造函数与codeworld函数haskell匹配