Firebase-userId不断变化



在一个Android项目中,我将Firebase与signInAnonymously()一起使用,而我得到的userId就像这个一样

userId = FirebaseAuth.getInstance().getCurrentUser().getUid()

我使用userId在CCD_ 3中创建子节点,根据该数据库的访问规则,只有该用户才能访问这些子节点。

问题是,我注意到userId随机变化,当这种情况发生时,该用户创建的所有内容都会丢失。在卸载应用程序之前,我能做些什么来保持相同的userId吗?我还可以使用什么其他方式来确保该用户对实时数据库子级的稳定和独占访问?可以使用安装id吗?

您可以使用Firebase匿名身份验证来创建和使用临时帐户来向Firebase进行身份验证。匿名身份验证帐户不会在应用程序卸载过程中持续存在。卸载应用程序时,本地保存的所有内容都将被清除,包括标识该帐户的匿名身份验证令牌。因此,您无法为用户回收该令牌。因此,每次登录时,都会生成一个新的UID。

我还可以使用什么方法来确保该用户对实时数据库子级的稳定和独占访问?

要始终具有相同的UID,则必须使用谷歌、脸书、推特等提供商来实现Firebase身份验证。