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 不匹配?