Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase用户为已注册用户返回空元数据_Android_Firebase_Firebase Authentication - Fatal编程技术网

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

Android Firebase用户为已注册用户返回空元数据,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我一直在使用Firebase对应用程序中的用户进行身份验证FirebaseAuth.getInstance().getCurrentUser().getMetadata()在用户注册后返回应用程序时返回null。当用户第一次注册时,它可以完美地工作,但对于返回的用户,它会返回null。Firebase团队的Malcolm 谢谢你指出这一点。这是目前安卓SDK持久化中的一个bug。我们将尽快修复此问题-密切关注即将发布的发行说明,以了解问题何时得到解决 同时,您可以使用的解决方法是在注册时写入应用

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

Firebase团队的Malcolm

谢谢你指出这一点。这是目前安卓SDK持久化中的一个bug。我们将尽快修复此问题-密切关注即将发布的发行说明,以了解问题何时得到解决


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

遇到了与getMetadata()返回null相同的问题

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

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

实现'com.google.firebase:firebase auth:16.0.3'

实现'com.google.firebase:firebase核心:16.0.1'

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

我发现我仍然得到空值,但后来我去添加一个新用户,突然它开始工作。我已经删除了所有现有的帐户,并创建了新的帐户-不知道这是否会产生影响。但它现在似乎起作用了

因此,更新依赖项并进行梯度同步可能会解决您的问题,至少对新用户来说是这样

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


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

建议您联系。这似乎是一个未记录的限制或错误。我认为打电话可能会有帮助,但仍然会得到空元数据。@BobSnyder刚刚向Firebase支持发布了一个请求。我不确定他们是否会认真关注,因为我已经有一个问题与他们悬而未决。这似乎是一个错误。我已经向Firebase Auth团队提交了一份报告。如果需要检查用户是新用户还是现有用户,请暂时使用,可从AuthResult获得。@bojeil我正在使用一种变通方法,将状态存储在SharedReferences中。顺便说一句,
AdditionalUserInfo
对象保存用户的IDP特定数据,如果提供者是Facebook、Github、Google或Twitter之一。在我的例子中,提供者是电话号码。请看一下@bojeil,我正在使用
AuthStateListener
来监听auth状态中的更改。我看不到在
AuthStateListener
实现中获得对
AuthResult
的引用的方法。通过向Firebase支持部门询问此问题,我将支持问题的配额减少了一个。既然这是一个已知的bug,您可以通过在bug和功能请求下转移问题来更新我的Firebase支持问题配额吗。我认为这是一个公平的要求现在解决了吗?没有提供问题链接!!