在卸载旧版本并重新安装新版本时,我看到很多关于为应用程序接收新注册ID的问题。
但我注意到,应用升级会生成新的注册ID,而旧的注册ID不会生成Invalid
/ NotRegistered
。对不起,如果我在这个主题上已经过时了。
这会导致在从服务器发送通知时收到同一设备的多个通知的问题。
因此,我需要在应用升级时调用FirebaseInstanceId.getInstance().deleteInstanceId();
,或者FCM将来是否会使旧的注册ID无效?
答案 0 :(得分:1)
AFAIK,App Update shouldn't generate a new registration token。
但是,如果您设法从onTokenRefresh()
回调中收到新令牌,则应立即更新应用服务器上的相应详细信息,保存新标记并删除旧标记。这样,您就不必致电deleteInstanceId()
。
除非您只是通过调用getToken()
来接收新的和不同的令牌,否则这是一种意外行为。请发布相关的代码片段,以便我们进一步了解它。
答案 1 :(得分:0)
不要将注册密钥存储在发送通知的服务器数据库中。 使用更新查询而不是将注册密钥插入数据库。