Swift Firebase匿名ID的常量是多少
我正在用Firebase实时数据库构建一个应用程序。该应用程序最初主要是离线的,但我们计划稍后进行在线更新。我计划使用匿名登录,为用户获取ID,并将其所有数据存储在此ID下:Swift Firebase匿名ID的常量是多少,swift,firebase,firebase-authentication,Swift,Firebase,Firebase Authentication,我正在用Firebase实时数据库构建一个应用程序。该应用程序最初主要是离线的,但我们计划稍后进行在线更新。我计划使用匿名登录,为用户获取ID,并将其所有数据存储在此ID下: Auth.auth().signInAnonymously(completion: { (user, error) -> Void }) 登录后,我得到一个类似以下内容的ID:pcfgfoveyeyvfwhaaaavkgs8h33 是否保证此ID在给定设备上始终保持不变?我找不到有关此的任何文档。您应该: Fire
Auth.auth().signInAnonymously(completion: { (user, error) -> Void })
登录后,我得到一个类似以下内容的ID:pcfgfoveyeyvfwhaaaavkgs8h33
是否保证此ID在给定设备上始终保持不变?我找不到有关此的任何文档。您应该:
Firebase还允许匿名身份验证会话,通常是
用于在等待客户端访问时保留少量数据
使用永久身份验证方法进行身份验证这些匿名会话
可以配置为持续几天、几周、几个月甚至几年…直到
用户使用永久登录方法登录或清除浏览器
缓存。Web应用程序通常使用本地数据存储,如会话存储或
localStorage可以完成类似的任务
不能保证给定设备上的ID始终保持不变。Firebase将匿名身份验证会话存储到浏览器的。如果用户以匿名模式/私人浏览模式、其他浏览器或清除浏览器的本地存储打开应用程序,firebase将发出另一个用户ID。用户的UID从不更改。因此,在您以匿名方式登录用户后,UID将保持不变,直到您再次以匿名方式调用
,,或者直到用户卸载应用程序。如果您以匿名方式登录,则您的UID将保持不变,直到您注销。一旦您注销并再次登录,您将获得一个新的UID。甚至当用户卸载应用程序时,您也会再次获得UID 以下是我使用颤振的发现:
- 如果您两次调用
FirebaseAuth.signinanoymous()
而没有在其间调用FirebaseAuth.signOut()
,则会得到与第一次调用相同的uid(来自AuthResult.user.uid
)。即使您关闭应用程序并调用FirebaseAuth.signinanoymously()
- 如果调用
FirebaseAuth.signingout()
,然后调用FirebaseAuth.signinanoymously()
,则会得到一个新的uid
- 如果卸载该应用程序并调用
FirebaseAuth.signinanoymously()
,您将获得与上次安装不同的uid
是摘要,如果在注销()后或卸载应用程序后以匿名方式调用则会获得一个新的uid。每个设备将随机获得一个唯一的uid
。除非按照Frank下面的回答注销,否则它不会改变。uid
在出厂时重置设备并重新安装应用程序时是否保持不变?太棒了,我可以指望:)根据的文档,以匿名方式登录:“,如果已经有匿名用户登录,则将返回该用户。”,所以它似乎可以被多次调用而不生成新的ID..哦?这对我来说是新鲜事。许多开发者在过去一直在努力解决这个问题,因此这将是一个受欢迎的变化。如果用户卸载应用程序并重新安装它会怎么样?UID会改变吗?@FrankvanPuffelen是否有办法在使用登录/注销时保持相同的UID?我们跟踪一些用户数据,我们真的希望将其链接到uid而不是设备ID。一旦uid消失,它就无法恢复。在这种情况下,您需要实现自己的自定义登录。但问题是:你需要根据设备ID重新安装它。