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