Firebase用户为已注册的用户返回空元数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase用户为已注册的用户返回空元数据相关的知识,希望对你有一定的参考价值。

我一直在使用Firebase对应用中的用户进行身份验证。当用户在注册后返回应用程序时,FirebaseAuth.getInstance().getCurrentUser().getMetadata()会返回null。当用户第一次注册时,它可以很好地工作,但是为返回的用户返回null

答案

来自Firebase团队的Malcolm。

感谢您指出了这一点。这是目前android SDK持久性的一个错误。我们将尽快解决这个问题 - 密切关注即将发布的发行说明,以了解它何时得到解决。

与此同时,您可以使用的解决方法是写入应用程序的SharedPreferences以在注册时存储这些属性,并在应用程序的其他位置读取这些属性时从这些属性中读取。希望这可以帮助!

另一答案

与getMetadata()返回null相同的问题。

我使用Firebase Assistant向导在Android Studio中添加了Firebase支持。我无法让FirebaseUser.getMetadata()工作。

然后我更新了build.gradle(Module:app)依赖项,如下所示:

实施'com.google.firebase:firebase-auth:16.0.3'

实施'com.google.firebase:firebase-core:16.0.1'

(这些是撰写本文时的最新版本。当您阅读本文时,可能会有更新的版本)

我发现我仍然有空但后来我去添加一个新用户,突然间它开始工作了。我删除了所有现有帐户并创建了新帐户 - 不知道这是否有所作为。但它似乎现在正在运作。

因此 - 更新依赖关系并进行gradle同步可以解决您的问题,至少对新用户而言。

可能需要修改Android Studio中的Firebase助手以反映最新版本。

(仍然担心这完全可靠......)

以上是关于Firebase用户为已注册的用户返回空元数据的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递为已取消订阅的令牌返回 200 OK

Auth::guest() 为已登录和已注销的用户返回 true

GetCurrent 用户仅从 Firebase Google 应用返回登录用户

为啥注册用户后 Firebase 实时数据库用户 ID 与 Firebase 身份验证 UID 不匹配?

为啥注册用户未在 Firebase 中进行身份验证?为啥用户不能将产品添加到数据库 Firebase?

Mixpanel 匿名用户转换为已识别用户跟踪