我需要将 FCM 令牌保存到 Firebase 数据库才能发送通知。有没有更好的方法?现在我这样做:
FirebaseDatabase.getInstance().reference.child("users/${user.uid}/tokens").push().setValue(token)
这样,每次推送令牌时,它都有新的唯一 id,并且可以具有相同的令牌。
你能给我一个建议吗?或者,也许我可以使用将删除重复项的Firebase函数来做到这一点。
我通过使用另一种保存令牌的方式来解决此问题,现在令牌保存就像记录的键一样。
FirebaseDatabase.getInstance().reference.child("users/${user.uid}/tokens").child(token).setValue(true)
我建议不要将这些信息保存在数据库中。
考虑到:
在以下情况下,注册令牌可能会更改:
- 应用删除实例 ID
- 应用在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
源
FirebaseInstanceId 可能被视为 PID(个人身份数据(,因此请相应地对待它 - 如果您在欧盟开展业务,请记住 2018 年 3 月生效的新 GDPR 法规
相反,我只会使用令牌在需要时为用户注册推送通知,并将其发送到您的 FCM/GCM 服务器。