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

时间:2018-01-03 14:47:28

标签: android firebase firebase-authentication

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

2 个答案:

答案 0 :(得分:2)

来自Firebase团队的Malcolm。

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

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

答案 1 :(得分:0)

遇到同样的问题,getMetadata()返回null。

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

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

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

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

(这些是撰写本文时的最新版本。阅读本文时,甚至可能有较新的版本)

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

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

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

(仍然担心这是完全可靠的。)