因此,在使用firestore和云消息的react本机项目中,我遇到了推送令牌变得无效的情况。我只是好奇是什么触发了推送令牌的更改。我注意到的一对夫妇:
- 删除应用程序并重新安装似乎会触发新的令牌生成
- 登录/注销似乎也会触发一个新的令牌
只是想知道是否有人能提供一个导致生成新令牌和旧令牌过期的明确列表。不确定这是否也是时间的函数,在测试中还没有走那么远。
需要明确的是,我指的不是访问令牌。这是关于firebase云消息令牌
可以在Firebase Admin SDK的文档中看到messaging/registration-token-not-registered
错误代码下的可能原因列表:
- 客户端应用程序从FCM注册
- 客户端应用程序已自动注销。如果用户卸载应用程序,或者在iOS上,如果APNS反馈服务报告APNS令牌无效
- 注册令牌已过期。例如,谷歌可能决定刷新注册令牌,或者APNS令牌可能已过期iOS设备
- 客户端应用程序已更新,但新版本未配置为接收消息
通常,您的代码不应该关心令牌无效的原因。您的客户端代码只需在应用程序启动时始终报告最新令牌,或者使用客户端API提供的侦听器生成新令牌,即可对任何更改进行补偿。例如,onNewToken将监听Android上的令牌更改。您的服务器代码应该删除生成上述错误消息的任何令牌。