有时我想通过Firebase通知向一个唯一用户发送消息,然后我想访问该用户的令牌,所以我想知道在任何时候获取该令牌的最佳做法是什么?
在我的应用程序首次启动时,FCM SDK会为客户端应用程序实例生成注册令牌。 我可以获得该令牌,但如果我将该令牌保存在Firebase实时数据库中,我认为其他人可以访问该数据,因为它是"设置持久模式在"访问离线数据。
我的问题是: 是否可以在不保存数据库的情况下获得所有用户的令牌? 我可以直接从Firebase身份验证中获取这些令牌吗?如果没有,访问这些令牌的最佳做法是什么?
答案 0 :(得分:3)
我认为其他人可以访问该数据,因为它是“设置持久模式”以访问脱机数据。
只需将注册令牌详细信息保存到安全节点即可。确保只有您(或甚至包括用户本身)才能成为唯一可以访问它的人。详细了解Understand Firebase Realtime Database Rules。
我可以获得该令牌,但如果我将该令牌保存在Firebase实时数据库中,我认为其他人可以访问该数据,因为它是“设置持久模式”以访问脱机数据。 < / p>
如果您选择限制他们,他们将无法获取他们不允许/无法在其设备上拥有的数据。
是否可以在不保存数据库的情况下获取所有用户的令牌?
没有API可以获取与您的应用相关的所有注册令牌。正如documentation(强调我的)所述:
获得令牌后,可以将其发送到您的应用服务器并使用您首选的方法进行存储。有关API的完整详细信息,请参阅Instance ID API参考。
开发人员(您)有责任将注册令牌发送并存储到安全的位置。
我可以直接从Firebase身份验证中获取这些令牌吗?
我不完全确定你的意思。 FCM注册令牌与auth令牌不同。所以,没有。
如果没有,访问这些令牌的最佳做法是什么?
只要您将令牌存储在安全的位置并确保您始终使用最新/有效的令牌,它就应该是好的。