我在Android应用和iOS应用上设置了Firebase Cloud Messaging,一切正常,大部分时间。它在前台工作,它在后台工作,当你第一次安装应用程序时它会生成一个实例id令牌,然后它成功地将它添加到我们的服务器(因此它会触发我已覆盖的deleteInstanceId()
。 / p>
问题是经过一段不确定的时间(从经验看似乎在24小时到几天之间),我停止接收通知,应用程序未卸载,用户没有删除应用程序数据,该应用尚未删除实例ID令牌。它只是停止工作。在Android应用程序上,我可以通过注销并重新登录来再次使用它,这似乎触发了一个新的实例id令牌生成,但同样不能说在iOS上,这不是一个理想的用例无论如何,对于用户来说。
我尝试通过调用fminunc
手动删除令牌但是在我关闭应用并重新打开它之前它不会生成新令牌(当没有手动删除令牌时根本不会发生这种情况),这是在Android应用程序上。
我已经看过Firebase文档,其中说明在发生以下任一情况时会生成新的实例ID。
- 该应用删除实例ID
- 该应用已在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
我不确定第二个要点是什么意思,但据我所知,令牌不应该刷新,或者至少要刷新,我的代码不会听它。
为什么它会停止工作,我该如何解决?