调用updateProfile()方法后,Firebase用户不再匿名

时间:2017-12-14 13:18:02

标签: android firebase firebase-authentication

在Android应用中,我创建了一个匿名用户,稍后在用户决定登录时将此用户的数据迁移到Google / Facebook身份验证帐户。

在使用FirebaseAuth updateProfile()方法之前,这一直正常工作,然后在调用isAnonymous()方法时,用户不再是匿名用户。

来自Firebase API文档 - https://developers.google.com/android/reference/com/google/firebase/auth/FirebaseUser.html#isAnonymous()

  

isAnonymous():

     

如果用户是匿名的,则返回true;也就是说,用户帐户是   使用signInAnonymously()创建并且尚未链接到另一个   具有linkWithCredential(AuthCredential)的帐户。

FirebaseUser updateProfile()方法:

FirebaseAuth.getInstance().currentUser?.updateProfile(
                UserProfileChangeRequest.Builder()
                .setDisplayName("Anonymous User")
                .build())

调用上面的方法,以便稍后在应用程序中我可以检查匿名用户的显示名称并将其写入数据库等。

根据API文档,在调用 linkWithCredential()或用户使用auth提供程序方法登录的阶段之前,用户被视为匿名用户,为什么updateProfile()方法会生成匿名用户不再匿名?

1 个答案:

答案 0 :(得分:5)

firebaser here

这是Firebase Android SDK中的错误。它已经存在,因为9.0版本是在I / O 2016周围推出的。现在我们已经了解它,它将在即将推出的版本中修复(虽然我不知道将会是哪个版本)。